Paste or drop a subtitle file in either pane — the other side converts live. Optional time shift to fix out-of-sync subtitles.
.srt file on it — the WebVTT appears on the right instantly. Same the other way round.SRT (SubRip) is the plain-text classic: a number, a timing line like 00:01:04,200 --> 00:01:06,800, then the text. WebVTT is the W3C standard HTML5 video uses with <track>: it starts with a WEBVTT header, writes milliseconds after a dot (00:01:04.200), and adds features SRT lacks — cue positioning, STYLE blocks, NOTE comments and speaker voice tags. Most video players accept SRT; browsers require VTT.
SRT → VTT adds the WEBVTT header and switches the millisecond comma to a dot — the cue text and timings are preserved as-is. VTT → SRT removes what SRT can't express: NOTE and STYLE blocks are dropped, cue-positioning settings are stripped, timestamps without an hour part gain one, and <v Anna> voice tags become an Anna: prefix. Basic <b>, <i> and <u> formatting is kept in both directions.
If every subtitle appears too early or too late by the same amount, a constant shift fixes it. Enter the offset in seconds — 2.5 delays all cues by two and a half seconds, -2.5 moves them earlier. Cues that would shift before 00:00:00 are clamped to zero, and the tool tells you when that happens. If subtitles drift progressively (fine at the start, worse later), the frame rate differs and a constant shift won't fix it.
No. Parsing and conversion run entirely in this page with plain JavaScript. Subtitle files never leave your machine — you can even use the tool offline once loaded.