How to Convert VTT to SRT for YouTube
YouTube accepts both VTT and SRT uploads, but many video editors and subtitle tools export only VTT. If your workflow requires SRT - for compatibility with other platforms, editing tools, or team collaboration - you need a clean conversion that preserves timestamps and does not corrupt multi-script text. Here is how to do it reliably.
By CapsAI · Updated 19 August 2026
Key takeaways
- Remove the WEBVTT header and any VTT-specific styling or positioning metadata.
- Replace dots with commas in the millisecond portion of timestamps.
- Add sequential numeric identifiers before each subtitle block.
- Strip any VTT cue settings (position, align, line) from timestamp lines.
What to remove from the VTT file
The WEBVTT header on line one must be removed entirely. If your VTT file contains a STYLE block or NOTE comments, remove those as well - SRT does not support them. Any cue settings appended after the end timestamp (like position:50% align:center) must be stripped from each timestamp line.
VTT files sometimes contain HTML-like tags such as <b>, <i>, or <c.classname> within the subtitle text. Basic bold and italic tags are rendered by some SRT players, so you can optionally keep <b> and <i>. However, VTT-specific tags like <c>, <v> (voice), and <ruby> should be removed as they will display as raw text in SRT players.
- Remove: WEBVTT header line and any blank line after it.
- Remove: STYLE blocks and NOTE comments.
- Remove: Cue settings (position, line, align, size) from timestamp lines.
- Remove: VTT-specific tags (<c>, <v>, <ruby>).
- Keep: Basic <b> and <i> tags if desired.
Fix the timestamp format
VTT timestamps use a dot before milliseconds (00:01:23.456) while SRT requires a comma (00:01:23,456). Replace dots with commas only in timestamp lines. The safest regex is to match the pattern (\d)\.(\d{3}) and replace with $1,$2 - this targets only the millisecond separator.
VTT allows hour-less timestamps (01:23.456 instead of 00:01:23.456). SRT strictly requires the hours portion. If your VTT file uses short timestamps, prepend 00: to each. Most VTT files from video editors already include hours, but files from web-based tools sometimes omit them.
Start with 3 free minutes
Put Accurate Captions Into Practice
Create editable subtitles with CapsAI, then review Indian names, brands and places using the workflow in this guide.
Add sequence numbers
SRT requires a numeric identifier before each timestamp line, starting from 1 and incrementing. If your VTT file already has cue identifiers (which look similar), verify they are sequential integers. Non-numeric VTT identifiers like 'intro-1' or 'chapter-start' must be replaced with plain numbers.
The sequence number sits on its own line, followed by the timestamp line, followed by the text lines, followed by a blank line. This four-part structure repeats for every subtitle entry. Missing a sequence number causes most SRT parsers to skip or misalign subsequent entries.
Preserving Hindi and regional language text
The conversion process should never modify the subtitle text content itself. If you are working with Hindi, Tamil, Telugu, or other Indian language captions, ensure your text editor does not silently change the encoding. Save the output SRT as UTF-8 without BOM.
After conversion, open the SRT in VLC or a subtitle preview tool and scrub through to verify that all Indian script characters render correctly. Pay special attention to conjuncts and matras in Devanagari - if the conversion tool processed the file line by line incorrectly, it might have split a multi-byte character across lines.
Frequently asked questions
Does YouTube actually require SRT or can I upload VTT directly?
YouTube accepts both SRT and VTT. However, SRT is more universally compatible if you also distribute to other platforms like Vimeo, LinkedIn, or use the file in desktop editors. Converting to SRT gives you a single file that works everywhere.
What happens to VTT positioning data when I convert to SRT?
SRT does not support positioning. Captions will appear in the default position (typically bottom-center). If you relied on VTT position tags to place captions at the top of frame, you will need burned-in captions for that effect in SRT-only workflows.
Can I batch-convert multiple VTT files to SRT?
Yes. A simple script using find-and-replace logic can process a folder of VTT files. CapsAI also exports both formats simultaneously, so if you use it for captioning, you already have both files without needing conversion.
Start with 3 free minutes
Create Your Next Subtitle with CapsAI
Upload a video and generate editable AI subtitles with 3 free minutes to get started.