Skip to content

How to fix out-of-sync subtitles

To fix out-of-sync subtitles, compare the timing at the start and the end of the video. If they are out by the same amount, shift the whole file by that offset. If the gap grows as the video plays, the timings need rescaling, not shifting.

There are only two ways subtitles go out of sync, and they need completely different fixes. Work out which one you have before touching anything.

Is it an offset or drift?

Check the sync at the start of the video, then at the end.

  • Out by the same amount in both places → a constant offset. Shift the whole file. This is the common case and it takes ten seconds to fix.
  • Fine at the start, progressively worse later → drift. Every timestamp needs scaling, not shifting. A shift will make the end worse while appearing to fix the beginning.

Nothing else is worth investigating until you know which of these you are looking at.

How do you fix a constant offset?

Find the first clear line of dialogue. Note when it is actually spoken, and what the subtitle file says.

If the subtitle is timed to 00:00:02.000 and the words land at 00:00:03.500, the subtitles are 1.5 seconds early. Shift by +1.5 to push them later.

The sign trips everyone up, so as a rule:

  • Subtitles appear too early → shift positive
  • Subtitles lag behind the speech → shift negative

Drop the file into the subtitle timing shifter, enter the offset, and check the preview. It runs in your browser, so nothing is uploaded.

Why a constant offset happens

Almost always because the video and the subtitles came from slightly different cuts: an intro was trimmed, a different release of the same film has a distributor logo the subtitles were not timed against, or an audio track was replaced.

Subtitles pushed before zero

A large negative shift can move early subtitles before the start of the video. A subtitle that would end before 0:00 can never be displayed, so a sensible tool removes it rather than clamping it to zero — clamping several of them stacks overlapping text at the start. One straddling zero should be moved to start at 0:00 and keep its original end. The shifter here does exactly that and tells you how many were affected.

How do you fix subtitle drift?

Drift is a frame-rate mismatch. The classic case is a 23.976 fps source against a 25 fps release — a PAL speed-up. The ratio is small, so the first minute looks fine and the last minute is seconds out.

A single shift cannot fix this, because the error grows with time. You need every timestamp multiplied by a ratio:

  • 25 → 23.976 fps: multiply by 0.95904
  • 23.976 → 25 fps: multiply by 1.04270

Desktop tools like Subtitle Edit and Aegisub do this properly, and can also resync by matching two known sync points near the start and end of the video. That two-point method is more reliable than guessing the frame rates, because it corrects offset and rate together.

When resyncing is not worth it

If the subtitles are badly out, mistimed in places rather than uniformly, or simply do not match the words being said, regenerating them beats repairing them. Automatic transcription times each word from the audio itself, so the result cannot be out of sync with the audio it was made from.

That is also the fix when subtitles are timed to a different edit of the video. No amount of shifting reconciles a file with cuts the video does not contain.

How do you stop it happening again?

  • Caption after the final cut, not before. Every trim after captioning invalidates the timings from that point on.
  • Clean up the audio first. Timing accuracy tracks audio clarity — a noisy recording produces both worse words and worse word boundaries.
  • Keep one source of truth. If you burn captions in and also upload an SRT, generate both from the same transcript so they cannot disagree.

Caption your next video with Viten

Automatic captions, AI voiceover and audio clean-up. Free to start, no watermark.