← All articles

6 min read

How to Fix Out-of-Sync Subtitles: Offset and Drift

Three faults look identical and need different fixes. Diagnose a constant offset, frame-rate drift, or a few broken cues, then correct the file.

Out-of-sync subtitles are not one problem. They are three, and they need three different fixes. Reach for the wrong one and you can turn a file that was almost right into a file that is wrong everywhere. So before you change a single timestamp, spend thirty seconds working out which fault you have.

The thirty second diagnosis

Play a line of dialogue near the start of the video and note how far the caption is from the audio. Then jump close to the end and check a second line the same way. Those two readings tell you almost everything.

  • Same gap at both ends: a constant offset. The whole file is shifted and one adjustment fixes all of it.
  • Small gap at the start, much bigger at the end: drift. The file was timed against a different frame rate, and shifting will never line it up.
  • Most of the file is fine and a handful of lines are wrong: individual cue errors. Fix those by hand and leave the rest alone.

Fixing a constant offset

A constant offset usually means the subtitle file was cut against a slightly different version of the video. A trimmed intro, a different amount of head slate, or a sponsor read added later will all do it.

The direction matters. If the caption appears before the words are spoken, you need to delay it, which is a positive offset. If the caption lands after the words, pull it earlier with a negative offset. Read the offset off the video rather than guessing: note the timecode where the line is actually spoken, compare it to the timestamp in the file, and the difference is your number.

If you only need the fix for one viewing, most players handle it. In VLC, Tools then Track Synchronization has a subtitle delay field, and the G and H keys nudge the delay by 50 milliseconds a press. That changes playback, not the file. When you need the corrected file itself, apply the offset to every cue and export, which is what the subtitle timing shifter does.

Fixing drift from a frame rate mismatch

Drift is a speed difference rather than a gap. Every timestamp is wrong by the same percentage, so the error you can barely see in the first minute is obvious by the end of a long video.

The usual culprit is a file timed for 23.976 frames per second played against a 25 fps version, or the reverse. Those two rates differ by roughly four percent. On a ten minute video that is about twenty five seconds of accumulated error by the final cue, which is why the ending feels unwatchable while the opening seemed nearly fine.

The fix is proportional. Every timestamp gets multiplied by the ratio between the rate the file was timed for and the rate the video actually runs at, so late cues move much further than early ones. No offset does this, because an offset moves every cue by the same amount. Pick the two frame rates and let the tool rescale the file.

Fixing individual cue errors

When the file is mostly correct and a few lines are early, late, or sitting on screen too long, do not touch the global timing. Those are usually cues that were merged, split, or retyped during review. Open the file, correct the specific timestamps, and leave everything else as it was.

This is also the case that shows up after a round trip through an editor. Premiere Pro users have long running threads about SRT files coming back a frame off after being imported and re-exported, with the original and the returned file appearing to carry identical timecodes.

What to check before you export

  • Play the first cue and the last cue against the video, not just the first.
  • Check a cue in the middle. A file can be right at both ends and wrong between them if two fixes were stacked.
  • Confirm no cue starts before 00:00:00 after a negative shift.
  • Confirm the caption text, line breaks and cue order are untouched. Only timing should have moved.

When retiming is the wrong tool

Retiming assumes the words are right and only the clock is wrong. If the transcription itself is inaccurate, if names and product terms are spelled wrong, or if the cues are broken in awkward places, no amount of shifting helps. In that case generate the caption track again from the video and review the wording, which is what the AutoCaption caption generator is for. You can also read the caption line break guide when the problem is where lines split rather than when they appear.

Quick answers

How do I know whether to shift my subtitles or convert the frame rate?

Check the gap between speech and caption near the start of the video and again near the end. If the gap is the same in both places you need a constant offset. If it is small at the start and much larger at the end, the file was timed for a different frame rate and needs a proportional rescale.

Which direction is a positive subtitle offset?

A positive offset delays the captions, so use it when the text appears before the words are spoken. A negative offset makes captions appear sooner, for when the text lands late.

Why do my subtitles drift further out of sync as the video plays?

Growing drift is a frame-rate mismatch rather than a fixed gap. A file timed for 23.976 fps played against a 25 fps version is off by about four percent, so on a ten minute video the final cue is roughly twenty five seconds out even though the opening looked close.

Can I fix subtitle sync in VLC?

Yes, for playback. Tools then Track Synchronization has a subtitle delay field, and the G and H keys move the delay by 50 milliseconds a press. That changes how the file plays in VLC and does not change the file itself.

Does retiming change my caption text?

It should not. Retiming moves timestamps only. Caption wording, line breaks and cue order stay as they were, so a file you have already proofread stays proofread.

Subtitle TimingSRTTroubleshooting

Related caption tools

More caption guides

Caption your next video with AutoCaption.

Upload a video in the browser, generate editable captions, then export subtitle files or a styled captioned video.

Open caption generator