Converts WebVTT to SRT; cue positioning, styling, and speaker labels have no SRT equivalent and are cleanly removed, not left broken.
Introduction
WebVTT (.vtt) is the format required for native HTML5 video captions — the format the <track> element expects. SRT (SubRip) is the more universally accepted format elsewhere: most video editors, upload forms, and captioning workflows outside the browser expect SRT by default, even when your captions started life as VTT. If you have a WebVTT file — exported from a video platform, or written with WebVTT-specific styling — and need it somewhere that only takes SRT, that's what this tool does.
What Changes in the Conversion
The core content survives completely: every caption's text and its exact start and end time carry over unchanged, and the timestamp separator switches from a period to a comma (WebVTT's 00:00:20.000 becomes SRT's 00:00:20,000) to match SRT's format.
What doesn't survive is anything WebVTT can do that SRT simply has no way to represent:
- Cue positioning and styling settings. WebVTT allows a cue's timing line to carry extra settings controlling where on screen a caption appears or how it's aligned. SRT has no equivalent syntax for any of this, so it's dropped during conversion — cleanly, not left behind as broken leftover text in the output.
- Speaker labels. WebVTT can tag who's speaking on a given line. The spoken text itself is kept, but the speaker name isn't carried into the SRT file, since SRT has no way to attach it.
Neither of these produces an error or a malformed file — the SRT you get back is valid and complete for what SRT itself supports. It just won't reproduce on-screen positioning or speaker attribution if your original WebVTT file relied on either. A cue timed as 00:00:20.000 --> 00:00:24.500 align:right line:90% with a speaker tag around its text comes back as plain 00:00:20,000 --> 00:00:24,500 in the SRT file — the timing and words survive, the alignment setting and speaker name don't.
Converted Files Can't Go Back Into a <track> Element
If your video is embedded with the HTML5 <track> element for native browser captions, it needs a .vtt file specifically — SRT isn't accepted there. If you convert a caption file down to SRT for one purpose (a video editor, an upload form) but still need captions on a self-hosted video page, keep the original .vtt file as well, or use Srt To Vtt to convert back afterward rather than assuming the SRT version will work in both places.
What to Know Before You Convert
- Accepts .vtt files up to 10 MB each, and the file has to genuinely start with a
WEBVTTheader to pass validation — a renamed file that isn't really WebVTT is rejected. - Several files convert independently, each into its own
.srtfile; "Download all" bundles them into a ZIP rather than merging them. - An empty or corrupted file is rejected with an error instead of silently producing a broken result.
When This Is the Right Tool
- Uploading captions to a platform or tool that only accepts SRT. Many video editors and upload forms expect SRT specifically, even if your source captions are WebVTT.
- Simplifying a WebVTT file that used positioning or speaker labels you don't need downstream. If the destination doesn't support those features anyway, converting to SRT isn't losing anything you could have used there.
- Working with a captioning tool that exports WebVTT by default but the rest of your workflow, or your students' video-editing software, expects SRT instead.
If your WebVTT file genuinely depends on positioning or speaker labels showing up in the destination, converting to SRT will lose that information — there's no way around it, since SRT has no equivalent to preserve it in.
Example
A teacher receives a WebVTT caption file exported from a video conferencing platform's auto-captions after recording a class session. They want to fine-tune the captions in a desktop video editor before publishing the recording, but the editor's import only accepts SRT. Converting here produces a clean SRT file with all the same timed captions; any automatic speaker labels the platform added are dropped, which doesn't matter here since the editor wouldn't have used them anyway.
FAQs
What exactly is lost converting VTT to SRT?
Cue positioning/styling settings and speaker labels, if your WebVTT file has either — SRT has no equivalent syntax for them. Caption text and timing are preserved exactly.
Will the conversion produce broken or malformed SRT?
No. WebVTT-only features are dropped cleanly during conversion rather than left behind as stray text — the resulting SRT file is valid and complete for everything SRT itself supports.
Why would I need SRT instead of VTT?
SRT is the more widely accepted format outside the browser — most video editors and upload tools expect it by default, even if your captions originated as WebVTT.
What's the file size limit?
10 MB per file. The file also has to genuinely start with a WebVTT header to pass validation.
Is my subtitle file kept afterward?
No. Files are processed only to complete the conversion and are automatically deleted within 2 hours — see the Privacy Policy for details.
What if I need to go the other way, from SRT to VTT?
Use Srt To Vtt. That direction has nothing to lose, since SRT never had positioning or speaker features to begin with.