SRT vs VTT: which subtitle format should you use?
Updated on October 16, 2026
Use SRT for video editors and social platforms. Use VTT for a video player on your own website. If you’re not sure, start with SRT.
Both formats store the same thing: caption text with a start and end time for each line. The differences are small, but some apps reject the wrong format, and renaming the file doesn’t convert it.
The same caption in both formats
SRT:
1
00:00:04,200 --> 00:00:06,900
Okay, let's start with the basics.
VTT:
WEBVTT
1
00:00:04.200 --> 00:00:06.900
Okay, let's start with the basics.
Three things changed. VTT opens with a WEBVTT line. It uses a period before the milliseconds instead of a comma. And the cue number, required in SRT, is optional in VTT.
The differences side by side
| SRT | VTT | |
|---|---|---|
| First line | The number of the first cue | WEBVTT |
| Before milliseconds | Comma: 00:00:04,200 | Period: 00:00:04.200 |
| Cue numbers | Required | Optional |
| Hours in times | Required | Optional: 00:04.200 works |
| Text styling | Basic tags like <i>, not standardized | Part of the standard, with CSS |
| Position on screen | No standard way | Settings like line:0 for the top |
| Comments | Not supported | NOTE blocks |
HTML5 video <track> | Not supported | Supported |
SRT comes from SubRip, a Windows program from around 2000 that pulled subtitles off DVDs. VTT, short for WebVTT, is the W3C format built for the HTML5 video player.
Where each one works
- YouTube Studio, Vimeo and VLC: either format.
- Premiere Pro, CapCut desktop and LinkedIn: use SRT. The import steps are in how to make an SRT file.
- Your own website, with the HTML5
<video>tag: VTT only. Browsers don’t read SRT files in a<track>element.
PegaClip gives you both. On any transcript, SRT subtitles and the VTT under Other formats have the same text and the same timing, so there’s nothing to convert. See how to transcribe a video to text.
How to convert SRT to VTT by hand
- Open the
.srtin a plain text editor. - Type
WEBVTTon the first line and leave a blank line after it. - Change the comma before the milliseconds to a period on every time line. In an editor with regular expressions, such as VS Code or Notepad++, find
(\d\d:\d\d:\d\d),(\d\d\d)and replace it with$1.$2. This pattern only touches times, not commas in the text. - Save with the
.vttextension, in UTF-8.
How to convert VTT to SRT by hand
- Delete the
WEBVTTline and anyNOTEorSTYLEblocks. - Delete anything after the end time on a time line, like
line:0 align:center. - If a time has no hours, like
00:04.200, add00:in front. - Find
(\d\d:\d\d:\d\d)\.(\d\d\d)and replace it with$1,$2to put the commas back. - Number the cues 1, 2, 3 if they aren’t numbered, with a blank line between cues.
- Save with the
.srtextension, in UTF-8.
Common errors
You renamed .srt to .vtt and the captions don’t show. Renaming doesn’t convert anything. Browsers need the WEBVTT header and periods in the times.
Commas in the text turned into periods. The find and replace ran on the whole file. Undo it and use the pattern above, which only matches times.
The VTT works on your computer but not on your site. Is the file on another domain? Then the <video> tag needs the crossorigin attribute, and that server has to allow it with CORS headers. Also check that the <track> tag has default, or captions stay off until the viewer turns them on.
An editor rejects the VTT. Many editors only take SRT. Download the SRT version instead.
FAQ
Is one format more accurate?
No. Accuracy depends on the transcript, not the format. The text and times are the same in both.
Which one should I upload to YouTube?
Either. YouTube reads both. If you have both, the SRT is the simpler file.
Can I use VTT in Premiere Pro or CapCut?
Use SRT there. It’s the format editing apps handle most reliably.
Do SRT files support italics or colors?
Many players read <i>, <b> and <u> in SRT, and some read <font color>. None of it is standardized, so platforms often drop it. VTT has styling in the standard, but many platforms ignore it.
What about ASS, SBV or TTML?
ASS is for heavily styled subtitles, like anime fansubs. SBV is an older YouTube format. TTML, also called DFXP, shows up in broadcast and streaming work. For social video, SRT and VTT cover nearly everything.
