How to convert SRT to VTT
- Drop one or more .srt files into the box above, or paste the subtitle text.
- The page converts straight away. Leave Convert to on Automatic, or pick WebVTT or SRT yourself.
- Read the short report: what was fixed, and how many lines this browser read from the new file.
- Press Download VTT. For several files, Download all as ZIP.
The difference between the two formats is small: WebVTT starts with the word WEBVTT, uses a dot
instead of a comma before the milliseconds, does not need the number above each line, and must be UTF-8. That is
why most converters do just those three things. The trouble is that the files people actually have often break
in other ways, and a browser rarely tells you.
What Chrome does with a bad subtitle file
We loaded fifteen versions of the same three-line subtitle into a <track> element in
Chrome 155 and counted the lines it accepted (23 October 2026):
| File | Lines shown | Error reported? |
|---|---|---|
| Correct WebVTT, with or without numbers | 3 of 3 | — |
| The .srt file itself | 0 | yes |
| .srt renamed to .vtt | 0 | yes |
| WEBVTT header added, commas left in | 0 | no |
Timestamps like 00:00:01.5 | 0 | no |
Header written webvtt in lower case | 0 | yes |
| Saved in Windows-1252 (“ANSI”) | 3, as “Caf� au lait” | no |
| No blank line between cues | 3, each ending with the next number | no |
{\an8} in the text | 1, with {\an8} printed | no |
BOM, Windows line endings, no hours (01:02.000) | all fine | — |
The worst case is the half-converted file: header in place, commas still there. It loads, the browser is happy, and the video plays with no subtitles. This converter handles each row of the table and lists every change. Then it loads the converted file into a hidden video on this page and reports how many lines the browser read, so you know it works before you upload it anywhere.
VTT to SRT
Drop a .vtt file and the automatic setting makes SRT: numbered cues, commas, Windows line endings, which is what
editors, TVs and Plex expect. WebVTT extras that SRT cannot hold are dealt with explicitly. A speaker tag such as
<v Anna> becomes “Anna: ” in front of the line. Karaoke timestamps and class
tags are removed, and a cue placed at the top becomes {\an8}. NOTE and
STYLE blocks are left out and counted.
Fixing subtitles that are out of sync
If every line is early or late by the same amount, type that number of seconds into Shift
timing: 2 moves everything two seconds later, -0.5 half a second earlier.
Shifting works in either direction of the conversion, and you can also convert SRT to SRT just to shift it. If
the gap grows during the film, the subtitles were made for a different frame rate, and a shift will not fix that.
ASS and SSA files
Subtitles from anime fansubs and Aegisub are often .ass. The page reads their Dialogue lines, turns
\N into a line break, keeps “top of the screen” placement and drops the rest of the
styling (fonts, colours, karaoke). That is fine for plain dialogue, but a heavily styled sign or song translation
will lose its look.
Privacy
The conversion runs in this page. The subtitle file is read by your browser and never sent anywhere; you can disconnect from the internet after the page has loaded and it still works. To put the subtitles permanently into the picture instead of a separate file, use Add subtitles to video.