Why convert VTT to SRT
WebVTT is the caption format of the web: YouTube, Vimeo and most online course platforms export it. Video editors, many TV players and some upload forms still prefer SRT, the older and simpler SubRip format.
Converting properly means more than swapping dots for commas. WebVTT files can contain header text, notes, style blocks, cue settings and voice tags that SRT players do not understand. This converter parses the file cue by cue, keeps the text and timing, and writes clean, sequentially numbered SRT.
WebVTT vs SRT at a glance
| Feature | WebVTT | SRT |
|---|---|---|
| Full name | Web Video Text Tracks (WebVTT) | SubRip Subtitle |
| Type | Subtitle text file | Subtitle text file |
| Introduced | 2010 | Around 2000 |
| Created by | WHATWG, later standardized by the W3C | SubRip, a free Windows subtitle ripper |
| Timestamp format | 00:01:02.500 (dot before milliseconds, hours optional) | 00:01:02,500 (comma before milliseconds) |
| Styling | CSS styling, positioning, cue settings and speaker voices | Only basic tags such as <i>, <b> and <u> |
| Best for | HTML5 video players on websites | Desktop players, video editors and upload forms |
| Support | Every browser through <track>, plus YouTube and Vimeo | VLC, YouTube, Premiere Pro, most smart TVs |
| MIME type | text/vtt | application/x-subrip |
How to convert VTT to SRT
Step 1: Select the .vtt file
Drop the captions exported from your platform or player.
Step 2: SRT is preselected
Leave the output as SRT.
Step 3: Convert
Cues are extracted, renumbered from 1 and their timestamps rewritten.
Step 4: Import the SRT
Load it into Premiere Pro, DaVinci Resolve, VLC or your upload form.
What the converter handles
Header, NOTE and STYLE blocks
Removed, since SRT has no equivalent.
Cue numbering
Every cue gets a sequential number starting at 1.
Short timestamps
01:02.500 becomes 00:01:02,500.
VTT-only markup
Voice tags, class spans and karaoke timestamps are stripped, text is kept.
Where SRT is required
Video editing. Most editors import SRT for burned-in or sidecar subtitles.
Desktop and TV players. VLC, Plex and many smart TVs read SRT reliably.
Social and marketplace uploads. Several platforms accept SRT but not VTT.
Translation workflows. Subtitle translation tools commonly exchange SRT files.
What is removed
Cue settings written after the timestamp, such as align:start or position:10%, are dropped because SRT has no positioning syntax. Voice tags like <v Maria> are removed while the spoken text stays, and CSS class spans such as <c.yellow> are unwrapped.
HTML entities are decoded, so & becomes & and becomes a non-breaking space, which is how SRT players expect text.
- Kept: text, timing, <i>, <b>, <u>.
- Removed: cue settings, voice and class tags, NOTE and STYLE blocks.
- Rewritten: cue numbers and timestamp format.
Speaker names
WebVTT can mark speakers with voice tags, but SRT has no such feature. Because the tag is removed, the speaker's name does not appear in the SRT unless it was also written in the caption text.
If you need speaker labels, add them to the text before converting, for example by writing the name followed by a colon.
Tips for VTT to SRT
- Download captions in the original language first, then translate the SRT.
- Check overlapping cues; some editors merge or skip them.
- Keep the VTT version for your website player.
- Save the SRT with UTF-8 encoding for special characters.
VTT to SRT questions
Is any subtitle text lost?
No. The text of every cue is kept; only VTT-specific markup and settings are removed.
How are cues numbered?
Sequentially from 1, regardless of the identifiers used in the VTT file.
What happens to positioning?
Cue settings like position and align are removed, since SRT cannot express them.
Are timestamps changed?
Only their format: dots become commas and missing hours are added. The timing itself is unchanged.
Does it support YouTube VTT files?
Yes. Header lines, styles and inline timing tags from YouTube exports are handled.
Is my file uploaded?
No. The conversion runs in your browser.