Last updated: September 26, 2026

How to Fix Out-of-Sync Subtitles

Nothing breaks immersion like captions that arrive a second late — or start fine and slowly slide away from the dialogue. The good news: nearly every sync problem is one of two patterns, and both are fixable in minutes once you know which one you're looking at.

First, diagnose: constant offset or progressive drift?

Play the video and watch three points: the beginning, the middle, and the end.

  • Constant offset: every caption is late (or early) by the same amount — say 1.5 seconds — from start to finish. The gap never grows. This is the easy one.
  • Progressive drift: captions start in sync but the error grows over time — fine at minute one, half a second off at minute five, two seconds off at minute ten. This needs a different fix.

Fixing a constant offset

A constant offset means all timestamps need the same nudge. Measure the error: pause on a sharp, unmistakable sound (a clap, a door slam, the first word of a sentence) and note how far the caption is from it. Then shift every cue by that amount.

  • In a text editor: open the SRT and shift all timestamps with find-and-replace logic, or use Subtitle Edit's Synchronization → Adjust all times with a positive or negative value.
  • In Premiere Pro: select all captions on the caption track and drag the whole block earlier or later on the timeline.
  • In VLC (playback only): press G to delay subtitles or H to advance them in 50 ms steps — handy for testing, not a permanent fix.
  • In Aegisub: Timing → Shift Times applies an offset to selected or all lines.

Fixing progressive drift

Drift almost always comes from a frame-rate mismatch: the subtitles were timed for 25 fps but the video plays at 24 fps (or 30 vs 29.97, and so on). Over minutes, the tiny per-frame difference accumulates into seconds.

  1. Confirm the cause: check the video's actual frame rate (VLC → Tools → Codec, or your editor's sequence settings) and compare it with what the subtitle file assumed.
  2. Rescale the timing. In Subtitle Edit: Synchronization → Change frame rate, entering the "from" and "to" rates. In Aegisub: use the frame-rate transform under Timing. This stretches or compresses all timestamps proportionally — the correct fix for drift.
  3. Verify at three points again (beginning, middle, end). If the error is gone at all three, you're done. If a small constant offset remains on top of the fixed drift, apply a shift as described above.

Other causes worth knowing

  • Variable frame rate (VFR) phone footage. Phones record VFR to save battery; editors expect constant frame rate. Transcode to CFR (HandBrake does this free) before generating or syncing subtitles.
  • Trimmed or re-encoded video. Cutting the head off a video without re-timing the SRT leaves every caption late by the trimmed amount — a constant offset, fixed by shifting.
  • Wrong subtitle file entirely. It happens more than anyone admits: the SRT belongs to a different edit of the video. Check durations match before troubleshooting further.

Preventing sync problems

Generate subtitles from the final video file — the exact export you will publish — not from a rough cut. AI tools like SubEasy timestamp against the audio they actually hear, so generating from the final file eliminates most sync issues at the source. And when you must re-edit after captioning, keep the SRT open beside the timeline and re-check the head and tail after every structural change.

Quick reference

SymptomLikely causeFix
Same delay everywhereOffset / trimmed headShift all timestamps
Error grows over timeFrame-rate mismatchRescale timing (change frame rate)
Random jumpsVFR footage / wrong fileTranscode to CFR / verify file