Convert SRT to VTT
SubRip files will not load in an HTML5 video player. WebVTT is the format the browser actually accepts.
- Free
- No upload, no signup
- Timings preserved
How to convert SRT to VTT
Choose your .srt file
Press the box at the top of this page and pick your SRT file, or drop it on. It is read in your browser, so nothing is uploaded and there is no account to make.
Check the VTT preview
The first cues are shown as they will be written in VTT, so you can see the timings and the text before you save anything.
Download the .vtt file
Save the VTT file to your device. Your SRT file is left as it was, so you can convert it again to another format.
Why the browser rejects your .srt
The HTML5 <track> element takes exactly one caption format, and it is WebVTT. Point it at a .srt and the player loads without captions and without an error worth reading, which is why this conversion is nearly always someone debugging a silent failure rather than someone with a preference.
The two formats are close enough that the conversion is mostly mechanical. WebVTT needs the literal line "WEBVTT" at the top of the file, and it separates seconds from milliseconds with a dot where SubRip uses a comma. SubRip also numbers each cue and WebVTT does not require it.
Everything that matters, the text and the timings, survives the trip intact. Nothing is lost going this direction.
Loads in an HTML5 player
Header line
Milliseconds separator
Cue numbering
Positioning and styling
| Feature | SRT (SubRip) | VTT (WebVTT) |
|---|---|---|
| Loads in an HTML5 player | No | Yes |
| Header line | None | WEBVTT |
| Milliseconds separator | Comma | Dot |
| Cue numbering | Required | Optional |
| Positioning and styling | No | Yes |
Where the file usually needs to go next
If the captions are for a page you control, a VTT file plus a <track> tag is the whole job. If they are going to a platform, check first: YouTube and most social uploaders take SRT happily and some will not take VTT at all, which is the reverse of this problem.
If they are going into a video permanently, converting is the long way round. Burning the captions into the frames means they cannot be switched off, cannot go missing, and survive being re-uploaded anywhere.
SRT and VTT, side by side
The text and the timings carry over exactly. Only the way they are written changes, which is why this direction is lossless - a WebVTT file can hold everything a SubRip file can.
Both samples below hold the same two cues, so the difference you can see is the whole difference between the formats.
1
00:00:01,000 --> 00:00:03,500
This is the first line.
2
00:00:03,500 --> 00:00:06,000
And this is the second.
WEBVTT
1
00:00:01.000 --> 00:00:03.500
This is the first line.
2
00:00:03.500 --> 00:00:06.000
And this is the second.
SRT to VTT: questions
Why will my SRT file not work in my HTML video player?
Because the track element only accepts WebVTT. A .srt file will be fetched and ignored, usually without an obvious error, so the video plays with no captions at all.
Do the timings change when converting SRT to VTT?
No. The timings are identical; only the way they are written changes, from a comma before the milliseconds to a dot, plus a WEBVTT line at the top of the file.
Do I need the WEBVTT line at the top?
Yes. A WebVTT file that does not begin with the literal word WEBVTT is invalid, and browsers reject it outright rather than skipping the first cue. It is the single most common reason a hand-edited .vtt loads and shows nothing.
Can I keep the cue numbers?
You can. WebVTT allows an identifier line before each timestamp and a number is a valid identifier, so numbered cues carry over untouched. Nothing reads them, so removing them is equally safe.
Will the styling from my SRT survive?
There is none to survive. SubRip has no styling beyond the odd bold or italic tag that some players honour and most ignore, so nothing is lost going this direction. WebVTT can express far more than SRT can, not less.
Other caption conversions
Everything else you can do here.
Convert the video too
Convert SRT to VTT now
Free, in your browser. The file is converted on your device and is not uploaded.