Subtitle Resync Tool

Resync out-of-sync subtitles — shift all cues by an offset or stretch the timing for a new frame rate, for SRT and VTT.

VoiceDeck

AI-powered audio review & delivery for voice production teams

Your subtitles

Shift moves every cue by the same offset — fix captions that all start a few seconds early or late.

Stretch scales the timing for a frame-rate change or a two-point sync — fix captions that drift further out over time.

Your cue text, line breaks, inline tags and the input format are kept — only the timestamps change.

Resync

Paste or load a subtitle file to shift or stretch its timing.

Enter the time each anchor cue should start at; the tool computes the scale and offset so both land on target.

Cues
New total runtime
# Before After

Everything runs in your browser.

Your subtitles are never uploaded — parsing, retiming and the download all happen on your device. Need to check the file's structure, convert between SRT and VTT, or create captions from audio first? Those are separate free tools — this one only fixes timing.

About Subtitle Resync Tool

Why subtitles go out of sync

Out-of-sync captions almost always come from one of two causes, and telling them apart is the whole game — because each one has a different fix.

  • A constant offset. Every line is late (or early) by the same amount. The subtitle file was timed against a slightly different cut — a longer distributor logo, a trimmed cold open, an export that started a beat late — so the cues are simply shifted in time. The gap between caption and dialogue stays the same from the first line to the last.
  • A frame-rate drift. The captions line up at the start but slide further out as the video plays. That is a speed mismatch: the subtitles were authored for a master running at one frame rate and you are playing a copy at another, so the timeline runs a few percent fast or slow over the whole runtime.

Shift vs stretch

A shift adds the same offset to every timestamp — it slides the whole track left or right without changing how far apart the cues are. Use it to delay subtitles that come in early, or to pull forward subtitles that lag. A stretch multiplies every timestamp by a ratio, so the spacing between cues grows or shrinks — the track plays faster or slower. Use it when the drift gets worse the longer the video runs. If your captions start late and drift, shift them so the first cue lands, then stretch to fix the rest (or use a two-point sync to do both at once).

The PAL speedup: 25 vs 24 / 23.976 fps

The classic drift is the PAL speedup. Film is shot at 24 fps, but PAL television runs at 25 fps, so a film is simply played 1 frame per second faster for PAL broadcast — about 4% quicker, and a few minutes shorter. Subtitles authored against that sped-up 25 fps version run 4% too fast on a 24 fps (or 23.976 fps NTSC-film) copy, drifting steadily ahead. Stretching by the 25→24 ratio (×1.0417) slows them back down to match; going the other way, 24→25 (×0.96) speeds them up. The same idea covers NTSC's 29.97 fps, which is why this tool ships frame-rate presets rather than asking you to do the arithmetic.

How two-point sync works

When you do not know the source and target frame rates, a two-point sync solves the timing from the captions themselves. You tell the tool the correct start time for the first cue and for the last cue. From those two anchors it computes a single linear transform — a scale (how much to stretch) plus an offset (how much to shift) — so that both anchor cues land exactly on their targets, and every cue in between is interpolated. One step fixes a track that is both late and drifting. If the first and last cues sit at the same time the math has no solution, so the tool asks you for a constant shift instead.

Frequently Asked Questions

Why are my subtitles out of sync?

There are two common reasons. Either every line is off by the same amount — the file was timed for a slightly different cut, so the whole track is shifted — or the captions start in sync but drift further out as the video plays, which is a frame-rate mismatch. A constant lag is fixed with a shift; a growing drift is fixed with a stretch.

How do I shift all subtitles by a few seconds?

Paste or load your file, choose Constant shift, pick Later or Earlier and enter the amount — as seconds (e.g. 2.5) or a timecode (00:00:02,500). Every cue moves by that offset. Preview the before/after, then download the resynced SRT or VTT. To delay subtitles that appear too early, shift them later; to fix captions that lag, shift them earlier.

My subtitles drift over time — how do I fix that?

Drift means a speed mismatch, so a shift alone won't fix it — you need a stretch. If you know the frame rates, pick the matching Frame-rate preset (for example 25 → 23.976 fps). If you don't, use Two-point sync: enter the correct start time for the first and last cue, and the tool scales the whole track so both land on target.

What is the PAL speedup (25 vs 23.976/24)?

Film runs at 24 fps, but PAL TV runs at 25 fps, so films are played 4% faster for PAL. Subtitles made for that 25 fps version run too fast on a 24 or 23.976 fps copy and drift ahead. Stretch them with the 25 → 24 preset (×1.0417) to slow them back to match, or 24 → 25 (×0.96) to go the other way.

Does this work for VTT as well as SRT?

Yes. The tool auto-detects the format — a leading WEBVTT header means WebVTT (dot before the milliseconds), otherwise it's SubRip (comma) — and downloads in the same format you started with. WebVTT keeps its header, cue settings and identifiers; SRT cues are renumbered cleanly. Only the timestamps change.

Are my subtitles uploaded anywhere?

No. The whole resync runs in your browser with JavaScript — the file is read locally, retimed on your device and offered as a download. Nothing is sent to a server, which keeps unreleased scripts and client caption files private.

Get captions client-approved in VoiceDeck

VoiceDeck adds AI-powered audio & video review and delivery for your whole team — so every file ships in spec, automatically.