Boneyard Tools

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

  1. Drag a .vtt file onto the box, or click to browse for one.
  2. Review the SRT preview and the cue count on the right.
  3. 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