SRT vs VTT: which subtitle format should you use?
SRT and WebVTT side by side: syntax, styling, positioning, where each one works, and a converter that turns one into the other in your browser.
Try audio to srt free, in your browser →
Use SRT when you hand subtitles to a video editor, a desktop player or an upload form: it is the format almost everything accepts. Use WebVTT (.vtt) when the subtitles play in a web page through HTML <track>, or when you need positioning, styling, speaker tags or notes inside the file. YouTube accepts both. The two carry the same basic information — numbered or unnumbered cues, a start and end time, and text — so converting between them is easy as long as the file has no WebVTT-only features.
The same cue in both formats
Here is a cue from a real AudioMoo export of a test recording (a public-domain audiobook passage from LibriSpeech, CC BY 4.0), as SRT:
2
00:00:04,800 --> 00:00:08,640
I also offered to help your brother to escape, but he would not go.
And as WebVTT:
WEBVTT
00:00:04.800 --> 00:00:08.640
I also offered to help your brother to escape, but he would not go.
Three differences are visible, and they are the ones that break files most often:
- The header. A WebVTT file must begin with
WEBVTT. SRT has no header. - The millisecond separator. SRT uses a comma (
00:00:05,200), WebVTT a full stop (00:00:05.200). - The cue number. SRT numbers every cue. In WebVTT a cue identifier is optional and can be any text.
Renaming subtitles.srt to subtitles.vtt changes none of these, so the result is not valid WebVTT. Browsers will refuse it silently: the video plays and no subtitles appear.
A full comparison
| SRT (SubRip) | WebVTT | |
|---|---|---|
| Specification | None official; a de facto format documented by the Library of Congress | W3C specification |
| Header | None | WEBVTT on the first line |
| Time format | 00:01:02,500 | 00:01:02.500 (hours optional: 01:02.500) |
| Cue identifiers | Required sequential numbers | Optional, free text |
| Bold, italic, underline | <b>, <i>, <u> work in many players | <b>, <i>, <u> in the specification |
| Colour and font | <font color> in some players only | CSS ::cue styling and class tags |
| Position and alignment | Not standard | Cue settings: line, position, align, size |
| Speaker names | Typed into the text | Voice tag: <v Maya>Hello</v> |
| Comments | Not supported | NOTE blocks |
HTML5 <track> in browsers | Not supported | The required format |
| YouTube upload | Supported | Supported |
| Video editors (Premiere Pro, DaVinci Resolve, Final Cut) | Widely supported | Support varies; check your version |
What WebVTT can do that SRT cannot
WebVTT was designed for the web, and its extras are why converting from WebVTT can lose information:
WEBVTT
NOTE Reviewed against the source on 2026-11-02
intro
00:00:01.000 --> 00:00:04.000 line:10% align:start
<v Interviewer>When did the garden open?
00:00:04.500 --> 00:00:07.000
<v Maya>In <i>May</i>, after the rain stopped.
The NOTE is a comment that is never displayed. intro is a cue identifier. line:10% align:start moves the cue to the top left, out of the way of on-screen text. <v Maya> marks the speaker so a player can style or announce it. None of these has an SRT equivalent: converting to SRT keeps the words and the timing and drops the rest. The converter below does exactly that, and strips the tags so they do not appear as literal text.
Convert one into the other
Paste an SRT or WebVTT file below and convert it. It runs in this page: the text is not uploaded anywhere.
Which one should you keep?
Keep one reviewed master and generate the other from it, so a correction never has to be made twice. A sensible default:
- Publishing to a website with your own player: WebVTT is the master.
- Uploading to YouTube, Vimeo or social platforms, or importing into an editor: SRT is the master; convert to WebVTT only for the web.
- Archiving: keep the original media, the reviewed transcript as plain text, and the subtitle file you published.
After any later edit, regenerate both exports together.
Make subtitles from a recording
Audio to SRT and video to text create timed subtitles from a file in your browser, without uploading it, and download them as SRT or VTT. Review the words and cue boundaries before you publish: check the first cue, one in the middle and the last one with the video playing. If only the first subtitle appears, look for a missing blank line or a malformed time before redoing anything. The timestamp format reference covers the time notation in detail, and how to open a VTT file covers playback.
Questions
Is VTT better than SRT? Neither is better in general. WebVTT has more features and is the only option for browser <track> playback; SRT is the most widely accepted format everywhere else.
Does YouTube prefer one? YouTube’s help lists both SubRip (.srt) and WebVTT (.vtt) as supported upload formats. Use whichever you already have.
Will converting lose anything? SRT → WebVTT loses nothing. WebVTT → SRT loses positioning, styling, voice tags and notes; the words and times survive.
Can a subtitle file contain the video? No. Both are plain-text files that a player loads alongside the video.
Convert SRT to VTT (or back)
Paste a subtitle file. The conversion runs in this page; nothing is uploaded.