Convert subtitles between SRT and VTT

Convert SRT to VTT or VTT to SRT right in your browser — paste or drop a subtitle file, download instantly. Free, no sign-up, no watermark; your files never leave your device.

Paste, open a file, or drop one onto the panel — nothing leaves your device.Download

This converter runs entirely in your browser. Paste subtitles into the left box (or open a .srt / .vtt file, or drag one onto the page), pick a direction, and the converted text appears on the right as you type. Nothing is uploaded — there is no server — so the page keeps working offline once it has loaded.

SRT (SubRip) and VTT (WebVTT) differ in small but stubborn ways: SRT writes milliseconds after a comma, VTT after a dot; VTT starts with a WEBVTT header and may carry cue settings like position or alignment; VTT also allows timestamps without an hours field. The converter handles all of it — VTT cue settings are preserved where the target format can represent them, and the WEBVTT header is added or stripped as needed.

If something in the file cannot be parsed, you get the exact block number in an error message instead of silently wrong output — the usual culprits are a missing timing line or a file saved with the wrong extension. Windows line endings, a byte-order mark, missing cue indexes and hour counters above 9 are all handled.

Need the timings fixed rather than the format? Subtitle sync shifts every cue and rescales for frame-rate mismatches. The two locked pages below each do one direction: SRT to VTT and VTT to SRT.

Frequently asked questions

Which players and editors accept each format?
SRT is the universal subtitle interchange — desktop players, Premiere, YouTube uploads. VTT is what the HTML5 video track element requires and what browsers render natively. Converting between them takes one paste.
Is the converter really free?
Yes — free and unlimited, no sign-up and no watermark. Subtitle files are tiny and the work happens on your own device, so there is nothing to meter.
Are my subtitles uploaded anywhere?
No. Conversion runs in your browser tab and the text never leaves your device — which is also why the page works offline once loaded.
Why did conversion fail?
The parser is strict about structure but tolerant about style. It reports the exact cue block that broke — usually a missing timing arrow line or an empty file. Fix the flagged block, or re-export from your editor, and try again.