You downloaded subtitles for a video and got a .vtt file. Your editor only imports .srt. Your course platform rejects the upload. The DVD authoring tool from 2019 has never heard of WebVTT. This is the most common subtitle problem in existence, and the fix takes ten seconds.
Our free VTT to SRT converter rewrites the file in your browser — no upload, no signup, timestamps preserved exactly. Here’s what’s actually different between the formats, when the conversion matters, and the edge cases that break it.
VTT vs. SRT: what’s actually different
Strip away the history and there are exactly three differences:
- The header. VTT files begin with the literal line
WEBVTT(plus a blank line). SRT files start directly with subtitle block1. No header at all. - Timestamp punctuation. VTT:
00:00:12.500 --> 00:00:15.000(periods). SRT:00:00:12,500 --> 00:00:15,000(commas). Same moments in time, different decimal separator. - Block numbering. SRT numbers every block sequentially (1, 2, 3…). VTT blocks don’t need numbers — they can have optional cue identifiers, but most don’t.
That’s it. The words, the timing, the line breaks — all identical. Conversion is a faithful rewrite, not a translation. (Going the other direction? Our SRT to VTT converter does the reverse.)
When you need SRT instead of VTT
Desktop video editors. Premiere, DaVinci Resolve, and Final Cut all import SRT natively; VTT support is patchier, especially in older versions. If the subtitle track matters to your edit, SRT is the path of least resistance.
Course platforms and LMS systems. Corporate training platforms and many LMS tools were built in the SRT era. Their upload validators often accept .srt and reject .vtt without explanation — the error message just says “invalid file.”
DVD/Blu-ray authoring and broadcast. Anything touching physical media or broadcast workflows speaks SRT (or its broadcast cousins). VTT is a web format; it never made it into these pipelines.
Filename-sensitive pipelines. Some automation expects .srt by extension and won’t even try to parse a .vtt. Converting is faster than reconfiguring the pipeline.
When to keep VTT: web video players (Video.js, Plyr, native HTML5 <track>) prefer VTT — it’s the web standard. If your subtitles live on a webpage, don’t convert; VTT is already home. Our SRT generation guide covers which format to generate in the first place.
What can break in conversion (and how to avoid it)
Conversion is simple, which means failures are always about the input file:
- Styling and positioning cues. VTT supports
<c.color>,align:,position:and similar cues. SRT has no equivalent — a faithful converter drops them (or keeps the raw text and drops the tags). If your VTT has heavy styling, check the SRT output: the words will be right, the colors won’t be. - Overlapping timestamps. Some VTT files have cues whose time ranges overlap. SRT players handle this inconsistently — a few strict ones stop at the first overlap. Worth a quick scan if your source came from auto-captioning.
- BOM and encoding. VTT files sometimes start with an invisible byte-order mark. A good converter strips it; a naive one turns it into a garbage character before block 1, which breaks strict SRT parsers. (Ours strips it.)
- Cue identifiers. VTT allows named cues (
intro-1above the timestamp). SRT has no such concept — identifiers are dropped, numbering takes over. Harmless for playback. - Empty or whitespace-only cues. Auto-generated VTTs sometimes contain empty blocks. Clean converters drop them; sloppy ones emit empty SRT blocks that confuse some players.
The pattern: always spot-check the converted file. Open the .srt in a text editor, glance at the first and last blocks, confirm the commas are there and the numbering runs 1, 2, 3… Thirty seconds of checking beats discovering a broken subtitle track after publishing.
A real example: the course upload
You’re uploading a 12-part video course to a corporate LMS. You generated VTT subtitles (the web-native format) for the course website. The LMS upload form accepts the videos, then rejects every subtitle file with “unsupported format.”
The fix, per file, per the pattern above:
- Open the VTT to SRT converter.
- Drop in
lesson-01.vtt— conversion happens instantly, on your device. - Download
lesson-01.srt. Spot-check: header gone, commas in timestamps, numbering sequential. - Upload to the LMS. Accepted.
Twelve files, maybe five minutes total. Compare that with re-generating subtitles from scratch in the “right” format — or worse, manually rewriting timestamps. Format conversion exists precisely so you never have to do either.
How to convert in your browser
- Open the VTT to SRT converter.
- Paste your VTT text or drop in the
.vttfile. - Download the
.srt— correct numbering, comma timestamps, UTF-8 encoding, no header.
Keep both files. The VTT stays with your web player, the SRT goes to the editor, the LMS, the archive. Subtitle formats are cheap to keep and expensive to regenerate — and if you ever need to shift the timing of the whole file, our subtitle sync adjuster handles that without touching the format. Convert with the VTT to SRT tool — free, instant, and your timestamps survive intact.