Convert VTT to SRT

● No uploads: everything runs in your browser

Loading…

Convert WebVTT (.vtt) subtitles to SRT, the format desktop players, video editors and TVs most often expect. Each cue is numbered from 1, the full stop before the milliseconds becomes a comma, and every timestamp gets its hour, so a short VTT time like 01:02.500 becomes 00:01:02,500. What SRT has no room for is left out: the WEBVTT header, STYLE, REGION and NOTE blocks, cue identifiers and per-cue position settings. Captions placed at the top of the frame in the VTT will sit wherever the player puts subtitles by default.

How it works

  1. Drop a .vtt file, or several at once to convert them as a batch.
  2. Read through the cue table. VTT-only markup in the text, such as <v Speaker> voice tags, is kept as typed and may show up literally in an SRT player; with a single file, delete it in place.
  3. Convert & download: one .srt with the same name, or one ZIP for a batch.

Questions

Will VTT styling and positioning survive the conversion to SRT?
No, because SRT has nowhere to store them. STYLE and REGION blocks and cue settings such as line:0 or align:start are left out, and every caption returns to the player’s default position. Simple inline tags like <i>, <b> and <u> are kept, and most players that read SRT display them.
Why convert VTT to SRT at all?
VTT is designed for web players. Outside the browser, SRT is accepted in more places: video editors, TVs and set-top boxes playing a file from a USB stick, and most subtitle editing software. If the subtitles will only ever play in a web page, keep the .vtt, since it can hold positioning and styling that SRT cannot.
What if a VTT file will not convert?
The file is checked as it is read, and a broken cue is reported with its line number and what was expected there, such as a timing line like 00:00:01.000 --> 00:00:02.000. Fix that line in a text editor and drop the file in again. In a batch, the other files still convert, and the ZIP’s report names the one that failed.
Does my file get uploaded?
No. The models and all processing run inside your browser on your own device. You can verify this yourself: open your browser’s DevTools, watch the Network tab, and process a file: there are no uploads. After the first visit most tools also work fully offline.
What is a two-point resync?
A fixed shift fixes subtitles that are uniformly early or late, but not ones that drift further out over the runtime (a frame-rate mismatch). Pin the first and last line to their correct moments and every cue between them is stretched linearly. That is the standard fix, done locally.
How does on-device translation work?
Recent Chromium browsers ship a built-in translator that downloads language packs and runs locally. Where your browser offers it, this tool uses it, subtitle text included, and nothing is sent to a service. Where it does not, the page says so instead of quietly uploading.
Burned-in vs a subtitle file: which do I want?
A separate .srt/.vtt can be toggled and edited, and players render it crisply, so prefer it where you control playback. Burn-in re-encodes the video with the text drawn into the frames: it plays everywhere and cannot be turned off.

Related tools