Subtitle Sync Fixer & Converter

Subtitles late, early, or drifting steadily out of sync? Shift them, retime them between frame rates, and convert SRT ↔ VTT — all in your browser. Your files never leave your device.

Or paste subtitle text below.
Positive = subtitles later · negative = earlier

Three kinds of "out of sync" — and which fix to use

1. Constant offset → use Shift

Every subtitle is late (or early) by the same amount, usually because your video has an extra logo, recap or ad slate at the start. Find one line of dialogue, note how far off it is, and enter that many milliseconds (1 second = 1000 ms). Positive values move subtitles later, negative values earlier.

2. Progressive drift → use Frame-rate retime

Subtitles start in sync but drift further out the longer the video plays. Classic cause: the subtitle file was timed against a 25 fps (PAL) version but your video is the 23.976 fps master — or vice versa. A PAL-timed file drifts about 4.3 seconds behind per hour. Pick the rate the subtitles were made for and your video's actual rate; every timestamp is rescaled by the exact ratio (e.g. 25 ÷ 23.976 ≈ 1.0427). This is the fix most free subtitle tools don't offer.

3. Different edit entirely → re-timing won't help

If sync jumps around scene by scene, the subtitle was made for a different cut (extended edition, censored broadcast version). No global fix exists — you need subtitles made for your exact cut.

SRT vs VTT in 30 seconds

SRT (SubRip)WebVTT
Decimal separator00:01:02,500 (comma)00:01:02.500 (dot)
HeadernoneWEBVTT required
Stylingbasic tags onlyCSS-style positioning & color
Wanted byediting software, broadcasters, playersYouTube, HTML5 video, web platforms

FAQ

Why are my subtitles out of sync?

The three usual causes: (1) the subtitle file was made for a different cut of the video — extra logos or recaps shift everything by a fixed amount, which a simple time shift fixes; (2) the subtitle was made for a different frame rate version (e.g. a 25 fps PAL rip vs a 23.976 fps web master) — sync drifts progressively worse over time, which needs a frame-rate retime; (3) the file is simply for a different video entirely.

What is the difference between SRT and VTT?

SRT (SubRip) is the older, simplest format: numbered cues with comma decimal separators (00:01:02,500). WebVTT is the web-native evolution: it starts with a WEBVTT header, uses dot separators (00:01:02.500), and supports styling and positioning. YouTube, HTML5 video players and most web platforms want VTT; broadcast and editing software commonly exchange SRT.

How do I fix subtitles that drift more out of sync over time?

Progressive drift means the subtitle timing was made at a different frame rate than your video. Use the frame-rate retime option: pick the rate the subtitles were made for and the rate of your video (commonly 25 → 23.976), and every timestamp is rescaled proportionally.

Are my subtitle files uploaded to a server?

No. Files are read and processed entirely inside your browser with JavaScript. Nothing is uploaded, stored or logged — you can even use this tool offline once the page has loaded.

Does converting SRT to VTT change the timing?

No — conversion only rewrites the header and the decimal separator (comma to dot). Timing changes only happen if you also apply a shift or a frame-rate retime in the same pass.