Convert SRT to VTT

Drop your SRT file: the WebVTT file is created on your device and downloaded straight away, ready for a website’s track element.

100% local processing, nothing is uploaded

How does it work?

Drop your .srt file: it is read and converted on your device, then the .vtt file is downloaded straight away, under the same name. Nothing is sent to a server.

The conversion keeps the timings to the millisecond and the text. The “WEBVTT” header line is added, the commas before the milliseconds become periods, and special characters (&, <, >) are escaped. Formatting tags (<i>, <font>) and SRT-specific position settings are removed.

The WebVTT file is used with a web page’s <track> element, on Vimeo or in most online players.

Examples

A 1 h 30 movie

An SRT file of 1,450 subtitles (about 90 KB) is converted instantly; the resulting VTT file is roughly the same size.

A converted timing

The SRT line 00:01:02,500 --> 00:01:05,000 becomes 00:01:02.500 --> 00:01:05.000 in the WebVTT file: same start (62.5 s) and same end.

Frequently asked questions

What is the difference between SRT and VTT?
Both contain the same information: a number or identifier, the start and end times, then the text. SRT (SubRip) is the most widespread: YouTube, Facebook, VLC, Premiere Pro, DaVinci Resolve. WebVTT (.vtt) is the format for websites (the <track> element) and Vimeo; it uses a period before the milliseconds instead of a comma, and starts with the line “WEBVTT”.
Accented characters in my file display incorrectly: what can I do?
Older subtitle files are often saved in Windows-1252 rather than UTF-8. The tool detects the encoding automatically (UTF-8, UTF-16 or Windows-1252) and always saves in UTF-8, understood by every recent player: accents and special characters are fixed along the way.
Can I correct the subtitles before converting?
Yes: open the file with the “SRT editor” tool, correct the text or timings, then export it directly as WebVTT.
Are my video or my text uploaded to a server?
No. Transcription is done by your browser, on your device: your video, its sound and the resulting text are not sent anywhere, unlike most online subtitling tools. Only the speech recognition model (Whisper) is downloaded once, from Hugging Face, with its engine from jsDelivr, then cached. Your work (text and timings, never the video) is saved on your device so you can resume it.