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:

  1. The header. A WebVTT file must begin with WEBVTT. SRT has no header.
  2. The millisecond separator. SRT uses a comma (00:00:05,200), WebVTT a full stop (00:00:05.200).
  3. 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
SpecificationNone official; a de facto format documented by the Library of CongressW3C specification
HeaderNoneWEBVTT on the first line
Time format00:01:02,50000:01:02.500 (hours optional: 01:02.500)
Cue identifiersRequired sequential numbersOptional, 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 onlyCSS ::cue styling and class tags
Position and alignmentNot standardCue settings: line, position, align, size
Speaker namesTyped into the textVoice tag: <v Maya>Hello</v>
CommentsNot supportedNOTE blocks
HTML5 <track> in browsersNot supportedThe required format
YouTube uploadSupportedSupported
Video editors (Premiere Pro, DaVinci Resolve, Final Cut)Widely supportedSupport 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.

Choose a subtitle export
SRT and WebVTT are text tracks. Neither contains the video itself.

Convert SRT to VTT (or back)

Paste a subtitle file. The conversion runs in this page; nothing is uploaded.

Keep reading

Sources