Shift Subtitles — Offset, Resync & Frame-Rate Fix
Fix subtitles that show too early or too late — shift everything by an offset, or resync with two sync points. In-browser.
Quick answer: If captions are uniformly early or late, enter an offset (for example −2.5 seconds) and shift everything. If they drift — right at the start, wrong at the end — use two sync points and the timings are stretched or squeezed linearly between them.
Drop a subtitle file here, or browse — it stays on your device
| Constant offset | ± hours:minutes:seconds,ms applied to every cue |
|---|---|
| Two-point resync | “At 1:02 the line should show at 1:00; at 45:00 → 44:30” → linear fix |
| Frame-rate fix | 23.976 ↔ 24 ↔ 25 ↔ 29.97 — the PAL-speedup class of errors |
| Works on | SRT, VTT, ASS/SSA, SBV, TTML, .sub (auto-detected) |
| Privacy | Runs in the browser; no upload |
What this tool does
Out-of-sync subtitles come in three shapes. A constant offset — everything is exactly two seconds late — happens when a release has a different intro or a streaming bumper; one global shift fixes it. Drift — perfect at the start, worse as the film runs — means the subtitle's clock runs at the wrong rate: a PAL-speedup transfer (23.976→25 fps) or a different cut; the fix is linear rescaling between two points where you know the truth (“this line is spoken at 1:02, this one at 45:00”). And frame-rate mismatch is drift's most common cause, so the direct 23.976↔25 conversion is provided too. This tool does all three locally: pick the mode, see the first and last cues before and after, and download only when the numbers look right.
Common uses
- Subtitles consistently 2 seconds late after a streaming ad bumper
- Perfect at minute 1, five seconds off by minute 90 — the drift case
- A 25 fps PAL transfer paired with a 23.976 fps subtitle file
- Merged episodes where part two needs a one-hour push forward
Why two points, not one
A single “this line should be at X” fixes an offset only. Real drift needs a rate change, and a rate plus an offset is exactly what two point-pairs define: the line through them maps every other timestamp. This is the same maths Subtitle Edit and Aegisub apply with their synchronization tools, doing it here without installing anything.