How to use it
- Open a .vtt file or paste the captions.
- Optionally shift every cue earlier or later in milliseconds.
- Check the SRT output and download the .srt file.
How it works
SRT is simpler than WebVTT, so some information cannot be carried over, and the converter tells you when that happens. The WEBVTT header is removed, cues are numbered from 1, and timestamps get a comma before the milliseconds (00:00:01,000). Short WebVTT timestamps without hours (01:02.500) are expanded.
Removed because SRT cannot store it: cue settings such as align, line and position; STYLE, NOTE and REGION blocks; cue identifiers (replaced by numbers); voice tags <v Name>, class tags <c.name>, language and ruby tags, and karaoke-style inline timestamps. The text inside those tags is kept. Bold, italic and underline tags stay, since most SRT players support them. HTML entities such as & and < are turned back into characters.
The offset moves every cue by the same amount; cues ending before 0:00 are removed. Input with Windows line endings, a BOM or Windows-1252 encoding is handled.
Examples
Captions for a video editor
Download auto-generated captions as .vtt, convert them to .srt and import them into an editor that only accepts SubRip.
Speaker names in voice tags
<v Anna>Hello</v> becomes Hello. If you need the name in the text, add it in the SRT afterwards.
Frequently asked questions
Why were positions and styles removed?
SRT has no standard way to store cue positions, alignment or CSS styles. Keeping them would produce a file many players cannot read.
Are cue numbers required in SRT?
Yes. Every SRT cue starts with a number, so the converter numbers them 1, 2, 3 … in order.
Can I convert several files at once?
No, one file at a time. Each conversion takes a moment, and nothing is uploaded.
Privacy
Your subtitle file is read and converted in your browser. It is not uploaded or stored.