Skip to content

Guides

Subtitles out of sync halfway through: fixing a cut

A subtitle file can be wrong in three shapes. Off by the same amount everywhere: a constant delay. Off by a little more every minute: drift. And the one this page is about — perfect for the first hour, then suddenly seconds off and staying that way. That third shape is a cut, and it needs a different repair from the other two.

What a step in the timing means

Subtitles are timed against one specific copy of a film. If your copy is the same cut, running at the same speed, they line up from the first line to the last. If your copy runs at a different speed, the error grows steadily — that is drift. If your copy starts at a different point, every cue is off by the same amount — that is a constant delay.

A cut is the third case. Somewhere in the middle, one copy contains material the other does not: an ad break removed from a broadcast recording, a “previously on” recap trimmed from a streaming release, a deleted scene restored in an extended edition, a studio card that one distributor kept and another dropped. Every cue before that point is fine. Every cue after it is off by exactly the length of what was added or removed, and stays off by that amount to the end.

The three shapes need three different repairs, and the tools that promise to “auto-sync” a file are fitting one straight line through all of it. A straight line cannot fit a step. Whatever they do to the second half, they undo in the first.

Confirm it is a step and not drift

The two are easy to confuse from the sofa, because both feel like “it was fine earlier”. The difference is in how the error grows, so check it at three points rather than two:

  • Early, middle, late. Pick a line with a hard edge near the start, one near the halfway mark, and one near the end, and note how far off each is.
  • Drift shows up as a smooth climb: a fraction of a second early on, more in the middle, most at the end.
  • A step shows up as zero, then a number, then the same number. Or zero, zero, then a number — in which case the break is in the last half and you check again at the three-quarter mark.

Both at once is possible — a PAL broadcast with the ad breaks cut out has a framerate mismatch and a step at every break. You will see a climb that suddenly jumps. It is still fixable; it just means each segment needs two anchors instead of a single offset, which is covered below.

Find the break

You do not need to watch the film to locate the cut. Halve the interval. Check a line at the midpoint: if it is in sync, the break is later; if it is off, the break is earlier. Halve again. A two-hour film comes down to a one-minute window in seven checks, each one a few seconds of playback.

Once you are inside a minute, the cut usually identifies itself: a fade to black, a chapter boundary, a scene that starts with nobody finishing a sentence. Open the subtitle file, find the last cue that is still correct and the first one that is wrong, and note them. That pair is the seam you will cut along.

Measure the jump

Everything after the break is off by one constant, so you measure it once, the same way you would measure a whole-file delay: pick a line just after the cut with an unmistakable start, note the time the file gives it and the time it is actually spoken, and subtract — or skip the clock and nudge the delay in VLC until that line lands, which reads out the same number. If the subtitle appears before the line is spoken it is early and you will be adding; if it appears after, you will be subtracting. The constant-delay guide walks through the sign, which is where most second attempts go wrong.

If the segment also drifts, skip the measurement: you will mark two anchors inside the segment instead, and they solve the offset and the speed together.

Fix one segment at a time

The tool corrects the whole file it is given, so give it only the part that is wrong:

  • Copy the file and open the copy in a text editor. Delete every cue before the break. Cues are separated by a blank line, so cut between blocks, never through one.
  • Keep the header. For SRT there is none. A WebVTT copy must still begin with its WEBVTT line; an ASS copy must keep everything above the first Dialogue: line. The format is detected from the contents, so a headerless VTT segment will come back as SRT.
  • Load the copy and apply the correction — the constant offset you measured, or, if this segment also drifts, one early and one late anchor inside the segment. Download it.
  • Put it back. In the original file, replace every cue after the break with the cues from the fixed copy. Save under a new name, load it in your player, and check one line just before the seam and one just after.

More than one break — the ad-break case — means more than one segment. Work from the front: fix the first wrong segment, put it back, then find the next break in the result, so each measurement is made against a file that is correct up to that point.

An SRT counter that restarts at 1 halfway down the joined file is harmless: every major player keys on the timestamps and ignores the numbers. If you want it tidy anyway, load the joined file, pick any two cues as anchors and leave their times exactly as they are. Nothing moves, but the download comes out renumbered and sorted.

When a shortcut is enough

  • You only need the rest of the film. If you are an hour in and the first half is behind you, shift the whole file by the jump and carry on. The first half is now wrong, and you are not going to watch it.
  • The cut is at the very start. A recap or a logo before the first line of dialogue is not a step, because there is nothing before it to be right. That is a plain constant delay for the whole file; use the offset alone.
  • Your release is named. Cuts travel with the release: Extended, Director’s Cut, Unrated, a TV recording versus a disc. A subtitle file made for your exact release has no step in it by construction, and finding one is often quicker than surgery on the wrong one.

Whichever route you take, write the result into the file. A cut is a fact about the copy you own, and it follows that copy to every screen you play it on; a delay set in the player does not survive closing it, and could not have fixed a step anyway.