SRT vs VTT
SRT and VTT hold the same thing — timed lines of text — but VTT is the web standard and SRT is the desktop one. The HTML5 <track> element accepts only WebVTT, so a browser video player will silently ignore an .srt file. Offline players read both. The practical difference in the file itself is small: VTT starts with a WEBVTT header, uses a dot before milliseconds instead of a comma, and can carry positioning and styling that SubRip has no way to express.
Last reviewed 2026-09-07
Side by side
| SRT (SubRip) | VTT (WebVTT) | |
|---|---|---|
| Header | None — the file starts with entry 1 | Must begin with the word WEBVTT |
| Milliseconds separator | Comma: 00:00:03,233 | Dot: 00:00:03.233 |
| Entry identifier | Required sequence number | Optional, and may be text rather than a number |
| Positioning | Not specified; {\an8} works in some players | Built in: line, position, align, size |
| Styling | A few HTML-like tags, support varies | CSS through STYLE blocks and ::cue |
| Comments | Not supported | NOTE blocks |
| Encoding | Anything in practice; UTF-8 by convention | UTF-8 required by the specification |
HTML5 <track> | Not accepted | The only accepted format |
| Standardised by | No formal spec — a de facto standard | W3C |
The same two entries in both formats
1
00:00:03,233 --> 00:00:08,233
Puff pastry, 500 g
2
00:00:14,833 --> 00:00:19,033
Melted butter, 20 g
Brush the pastry with a thin layerWEBVTT
1
00:00:03.233 --> 00:00:08.233
Puff pastry, 500 g
2
00:00:14.833 --> 00:00:19.033 align:middle
Melted butter, 20 g
Brush the pastry with a thin layerWhich one to use
- •Web video — VTT. There is no choice:
<track src="subs.vtt">is the only thing browsers read. - •Desktop players, TVs, media servers — SRT. Universally supported and simpler.
- •Sending to a translator or a client — SRT. Every tool opens it.
- •Streaming platforms — check their spec. YouTube takes both plus SBV; Vimeo takes both; broadcast workflows often want TTML or SCC instead.
What is lost in conversion
SRT to VTT loses nothing — the format only gains capabilities it does not have to use. VTT to SRT loses whatever the file used beyond plain timed text: cue settings, STYLE blocks, NOTE comments and region definitions have no SubRip equivalent and are dropped. Timings survive both directions to the millisecond.
Both conversions run in your browser, nothing is uploaded.
Convert SRT to VTTQuestions
Why does my SRT file not work in an HTML5 video player?+
The <track> element only accepts WebVTT. An .srt file is ignored without an error, which usually looks like the subtitles simply never appearing. Convert the file to .vtt and it works.
Is VTT better than SRT?+
It is more capable, not universally better. VTT adds positioning, CSS styling and comments, and is required on the web. SRT is simpler and read by more offline software. For a plain dialogue track that has to work everywhere, SRT is the safer choice.
Can I just rename .srt to .vtt?+
No. The file would still lack the WEBVTT header and would still use commas in the timecodes, so a strict parser rejects it. The change is small but it has to be made in the content, not the file name.
Do the timings change when converting?+
No. Only the decimal separator changes — comma to dot or back. Every start and end time stays identical to the millisecond.