Skip to content
AI Transcript

· 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

DestinationFormatHow
Premiere ProSRTFile → Import, drag onto the timeline
DaVinci ResolveSRTMedia Pool → Import Subtitle
Final Cut ProSRTFile → Import → Captions
VLC and desktop playersSRTSame filename as the video, same folder
HTML5 <video>VTT<track kind="subtitles" src="captions.vtt">
Re-uploading to YouTubeEitherBoth 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.

Ready to read the video?

Paste a link on the home page and the transcript appears in seconds. No account, no plugin, no cost.

Get a transcript