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
- Drop a .vtt file, or several at once to convert them as a batch.
- 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.
- 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.