· The AI Transcript team
SRT vs VTT: which subtitle file do you actually need?
The two formats carry identical cues and differ in about three characters. Knowing which one your editor or player expects saves an import error and a confusing hour.
You have a transcript and a download menu offering .srt and .vtt. The files
contain the same words at the same times. Picking the wrong one produces an
import error, not a subtly worse result — so it is worth thirty seconds of
understanding.
The short answer
- Video editor or desktop player? Take the SRT.
- HTML5 video on a web page? Take the VTT. It is the only one the browser accepts.
What they look like
SubRip, .srt — numbered cues, comma before the milliseconds:
1
00:00:01,200 --> 00:00:03,360
All right, so here we are
2
00:00:05,318 --> 00:00:07,974
in front of the elephants
WebVTT, .vtt — a required header, no cue numbers, full stop before the
milliseconds:
WEBVTT
00:00:01.200 --> 00:00:03.360
All right, so here we are
00:00:05.318 --> 00:00:07.974
in front of the elephants
That is genuinely the whole difference at this level: a header line, the cue numbers, and one punctuation mark. Both are plain text you can open in any editor.
Why two formats exist at all
SRT came out of DVD ripping software in the late 1990s. It has no specification worth the name — it is a convention that everything agreed to read. That is exactly why it is so widely supported, and also why edge cases (styling, positioning, non-Latin encodings) are handled differently by every player.
WebVTT was written for the web, deliberately, as a proper specification. It
supports positioning, styling with CSS, chapters, and metadata cues. Browsers
accept it and nothing else in a <track> element.
Where each one goes
| Destination | Format | How |
|---|---|---|
| Premiere Pro | SRT | File → Import, drag onto the timeline |
| DaVinci Resolve | SRT | Media Pool → Import Subtitle |
| Final Cut Pro | SRT | File → Import → Captions |
| VLC and desktop players | SRT | Same filename as the video, same folder |
HTML5 <video> | VTT | <track kind="subtitles" src="captions.vtt"> |
| Re-uploading to YouTube | Either | Both are accepted in the subtitle editor |
The part people get wrong
Timings are anchored to the published cut of the video. If you trimmed a ten-second intro off your local copy, every cue is now ten seconds late, and no format conversion fixes that — you need a time offset in your editor.
And if the captions came from automatic speech recognition, the file inherits their missing punctuation. Both formats are plain text, so cleaning that up is just editing: change the words freely, leave the numbered timing lines alone.