What this does
Most video editors, mobile players and upload forms want SubRip (.srt). WebVTT files carry extra headers, NOTE/STYLE blocks and per-cue settings that those tools reject, so this converter extracts just the cues and rewrites them as clean SRT.
How to use it
- Paste your VTT content or drop the
.vttfile onto the box. - Headers,
NOTEandSTYLEblocks, and cue settings likealign:are discarded automatically. - Copy or download the resulting
.srtfile.
Good to know
- Timestamps are rewritten with comma separators, as SubRip requires.
- Cue settings (
line:,position:,align:,size:,region:) have no SRT equivalent and are dropped. - Cue identifiers are replaced with a clean 1-based sequence.
What you give up converting VTT to SRT
Cue settings. align:, line:, position:, size: and region: control where text sits on screen. SubRip has no equivalent, so a caption positioned top-left to avoid covering a face will jump to the bottom centre.
Regions and STYLE blocks. WebVTT can define a reusable block of CSS-like styling and apply it to many cues at once. SRT carries only inline <i>, <b> and <u>, so shared styling collapses to whatever was applied inline.
Voice spans. <v Speaker> markup identifies who is speaking and lets a player style each speaker differently. In SRT the tag is dropped, which is why podcast captions converted to SRT often lose their speaker distinction.
If any of those matter for your project, keep the VTT as the master file and generate SRT only as a delivery copy.
Worked example
Input — .vtt
WEBVTT Kind: captions Language: en NOTE chapter 2 starts here 1 00:00:01.000 --> 00:00:04.000 align:start position:10% Hello there.
Output — .srt
1 00:00:01,000 --> 00:00:04,000 Hello there.
The header, the NOTE block and the cue settings are gone; only the cue survives, renumbered and rewritten with comma timestamps.
FAQ
What happens to NOTE and STYLE blocks?
Will I lose any timing information?
Can I convert in the other direction too?
Troubleshooting
- My editor reports the file as empty or invalidThe input had no parseable cue blocks. WebVTT needs a blank line after the header and between cues — a file where the header runs straight into the first cue is rejected.
- Cue positioning was lostCue settings such as
align:,line:,position:,size:andregion:have no SubRip equivalent, so they are dropped by design. Burn the position into the video if you need it. - Dialogue disappeared from the outputText inside
NOTEandSTYLEblocks is not dialogue and is intentionally discarded. If your captions were stored in a NOTE block, the source file was not valid VTT. - The first cue lost its original identifierVTT cue identifiers are optional and often absent. Numbers are regenerated from 1 so the SRT file opens everywhere.
Related tools
SRT to VTT Converter
Convert .srt subtitle files to WebVTT (.vtt) for HTML5 video, right in your browser.
Shift Subtitle Timing
Move every subtitle cue earlier or later to fix out-of-sync captions.
Clean Up AI-Generated Subtitles
Remove sound cues, HTML tags, speaker labels and duplicate cues from auto-generated captions.