SRT vs VTT: which subtitle file should you use?
SRT vs VTT, explained: how the two subtitle formats differ, which one YouTube, video editors and web players expect, and how to convert one into the other.
If you’ve exported captions, uploaded a video or embedded one on a website, you’ve probably been asked for an SRT or a VTT file. They do the same job — put timed text on screen — and they look almost identical inside. The differences are small but decide where each one works.
Short answer: use SRT for video editors and social uploads, and VTT for video you embed on your own website. If a platform accepts both, either is fine.
What an SRT file is
SRT (SubRip Text) is the oldest and most widely supported subtitle format. It’s a plain-text file made of numbered cues, each with a start and end time and the line to show:
1
00:00:00,000 --> 00:00:04,200
Stop scrolling. Three habits quietly changed my mornings.
2
00:00:04,200 --> 00:00:07,900
First: no phone for the first thirty minutes.
Three details define the format:
- Each cue starts with a number.
- Timestamps use a comma before the milliseconds:
00:00:04,200. - A blank line separates cues. There’s no header and almost no styling.
That simplicity is why SRT works nearly everywhere: video editors, social platforms, media players and most caption tools read it.
What a VTT file is
VTT (WebVTT, Web Video Text Tracks) is the W3C format built for video on the web. The same captions as VTT look like this:
WEBVTT
00:00:00.000 --> 00:00:04.200
Stop scrolling. Three habits quietly changed my mornings.
00:00:04.200 --> 00:00:07.900
First: no phone for the first thirty minutes.
The differences from SRT:
- The file must start with
WEBVTT. - Timestamps use a period:
00:00:04.200. - Cue numbers are optional.
- VTT adds features SRT doesn’t have: positioning and alignment per cue, styling with CSS, comments (
NOTEblocks) and chapter or metadata tracks.
SRT vs VTT side by side
| SRT | VTT (WebVTT) | |
|---|---|---|
| File starts with | The first cue number | WEBVTT |
| Timestamp format | 00:00:04,200 (comma) |
00:00:04.200 (period) |
| Cue numbers | Required | Optional |
| Positioning and styling | Basic or none | Cue settings and CSS |
HTML <video> on your site |
Not supported | The required format |
| Video editors and social uploads | Almost universal | Supported by many, not all |
Which one to use
Editing a video or uploading to social platforms → SRT. Desktop and mobile editors import SRT, and it’s the format most upload forms ask for first. If you’re not sure what a tool wants, SRT is the safer bet.
Embedding video on your own website → VTT. The HTML <video> element only takes captions through a <track> element, and browsers expect WebVTT there. Most web video players, and HLS streaming, use VTT too.
YouTube → either. YouTube accepts both SRT and VTT uploads. Use whatever your editor exports.
Podcast transcripts → check your host. The open podcast namespace’s transcript tag accepts both SRT and VTT, and many hosts take either. Look at your host’s upload page before converting anything.
How to convert SRT to VTT (and back)
You don’t need a converter. Open the file in any plain-text editor:
- SRT → VTT: add
WEBVTTand an empty line at the very top, then replace the comma in every timestamp with a period (,200→.200). Save the file with a.vttextension. The cue numbers can stay — VTT simply treats them as cue labels. - VTT → SRT: delete the
WEBVTTheader, change the timestamp periods to commas, make sure every cue has a number, and remove any cue settings after the timestamps (for examplealign:start). Save as.srt.
Find-and-replace can change the punctuation in one go; just make sure it only touches the timestamps, not the full stops in your captions.
Getting an SRT file for a voiceover
If you make voiceovers from text, the captions can come with the audio. In VoiceRead’s Studio, write or paste your script, pick a voice and export: with Pro you get the audio (M4A or lossless WAV) plus an .srt file timed to the voice, sentence by sentence, ready to drop into your editor next to the audio track. VoiceRead doesn’t export VTT, so for a web player use the two-minute conversion above.
The free plan includes 3 audio downloads to try exporting; the captions file is part of Pro. See what each plan includes.
The bottom line
SRT and VTT carry the same timed text. SRT is the universal choice for editing and uploads; VTT is what web pages need. Since converting between them takes two edits, pick the one your next step asks for and don’t worry about the other.