VTT to SRT Converter
Drop a WebVTT (.vtt) caption file here to convert it to SubRip (.srt). It rewrites timestamps from the VTT dot format to SRT's comma format, removes the WEBVTT header and any NOTE, STYLE, or REGION blocks, strips cue identifiers and inline cue settings like align:middle, and renumbers every cue starting from 1. Your subtitle text is preserved exactly. The whole conversion runs in your browser, so the file is never uploaded.
How to convert VTT to SRT
- Drag a .vtt file onto the box, or click to browse for one.
- Review the SRT preview and the cue count on the right.
- Click Download .srt to save the converted SubRip file.
Examples
A YouTube caption export
captions.vtt with align and position cue settings
captions.srt with comma timestamps, settings stripped, cues numbered from 1
Frequently asked questions
Is my subtitle file uploaded anywhere?
No. The file is read and converted entirely in your browser using JavaScript. Nothing is sent to a server, so even unreleased or confidential captions stay on your device.
What is the difference between VTT and SRT?
Both are plain-text caption formats. WebVTT (.vtt) is the web standard and uses a WEBVTT header, a dot before milliseconds (00:00:01.000), and optional cue settings and styling. SubRip (.srt) is older and simpler: numbered cues, a comma before milliseconds (00:00:01,000), and no header or styling. This tool maps the first onto the second.
What gets changed during the conversion?
The WEBVTT header line is removed, along with NOTE, STYLE, and REGION blocks that SRT has no concept of. Each timestamp's dot becomes a comma, short MM:SS.mmm times are padded to full HH:MM:SS,mmm, cue identifiers and inline settings such as align:start are dropped, and cues are renumbered sequentially from 1.
Is the subtitle text itself modified?
No. Only the structural parts (the header, timestamps, identifiers, and cue settings) are touched. The wording of every cue, including line breaks within a cue, is preserved exactly as written.
What encoding and line endings are supported?
The file is read as UTF-8, which covers the vast majority of caption files, and a leading byte-order mark is stripped automatically. Both Windows (CRLF) and Unix (LF) line endings are accepted, and the output uses clean LF line endings.
Why does the converted file say cue 1 when my VTT used different labels?
SRT requires cues to be numbered in order starting at 1, while VTT cue identifiers are optional free-form labels. The tool discards the original labels and assigns the sequential numbers SRT expects.
Related tools
Remove Line Breaks
Remove line breaks and paragraph breaks from text online. Flatten copied text into one line, keep spaces tidy, then copy the result. Free and private.
Find and Replace
Find and replace text online with literal or regex search, case sensitivity, and replace first or all. See a live count of changes. Free and private.
File Type Identifier
Find out what a file really is from its magic bytes, not its extension. Detects images, audio, video, archives, fonts, and more in your browser. Private.
Add Line Numbers
Add line numbers to any text online. Set the start value, step, and separator, pad numbers to align, and copy or download the result. Free and private.
ASS to SRT Converter
Convert ASS and SSA subtitles to SRT in your browser. Strips styling tags, fixes timestamps, renumbers cues, then download a .srt file. Private, no upload.
Bold Text Generator
Make bold, italic, bold italic, monospace and sans bold text with Unicode symbols. Copy styled text into bios and posts. Free and private.