SRT vs VTT — Differences and When to Use Each Subtitle Format
2026-08-07
The short answer
SRT (SubRip) is the old, universal subtitle format — almost every video editor and player reads it. VTT (WebVTT) is the newer web standard, required for subtitles on HTML5 <video> and supporting styling and positioning that SRT can't. If you're publishing to the web, use VTT. For editing software, uploads, and general compatibility, use SRT.
What SRT looks like
1
00:00:01,000 --> 00:00:04,000
Hello and welcome to the show.
Numbered cues, a time range with a comma before the milliseconds, then the text. That's it — no header, no styling.
What VTT looks like
WEBVTT
00:00:01.000 --> 00:00:04.000
Hello and welcome to the show.
It opens with a mandatory WEBVTT header, uses a dot before the milliseconds, and cue numbers are optional. VTT also supports positioning, voice/speaker tags, and styling that SRT ignores.
Key differences at a glance
- Header — VTT requires
WEBVTTon the first line; SRT has none. This is why simply renaming.srtto.vttdoesn't work. - Milliseconds — SRT uses a comma (
00:01,500), VTT uses a dot (00:01.500). - Cue numbers — required in SRT, optional in VTT.
- Styling & positioning — VTT supports it, SRT doesn't.
- Web playback — HTML5 video needs VTT; SRT won't load in the browser.
How to convert between them (free)
You don't need software. Paste your file into the browser-based converters and it happens locally on your machine — nothing is uploaded:
- SRT to VTT — adds the header and dot milliseconds for web playback.
- VTT to SRT — renumbers cues and rewrites timings for editors that won't read VTT.
- Remove timestamps — strip both down to plain text.
Where do subtitles come from in the first place?
If you don't have a subtitle file yet, generate one from the video or audio itself: paste a link or upload a file into Scriptery and export directly to SRT or VTT.
Scriptery