Skip to content

Guides

Subtitles out of sync: how to fix a constant delay

The subtitles are readable, the translation is fine, and every line lands two seconds after the mouth stops moving. This is the easy version of the problem — one number fixes the whole file — but almost everyone fixes it in the wrong place, and then has to fix it again tomorrow.

Before anything: is the gap constant?

Thirty seconds of checking decides which of two different repairs you need, and doing it in the wrong order wastes an evening. Play a line near the start and note how far off it is. Then play a line near the end and note the same.

  • Same gap at both ends — two seconds late at 0:02 and two seconds late at 1:40. That is a constant offset, and the rest of this page fixes it.
  • A gap that grows — nearly perfect at the start, several seconds off by the finale. That is drift, and no single shift can repair it: whatever number fixes minute five is wrong by minute eighty-five. It needs a two-point retime, covered in subtitles that gradually go out of sync— or, if you already know both framerates, a one-click framerate conversion.

A constant offset is the common case, and it has a mundane cause: your video file and the subtitle file start at different points. One copy keeps the distributor logo and the anti-piracy card, the other was cut to open on the first frame of the film. Nothing is stretched, everything is simply shoved along by the length of what was removed.

Measure the gap once, properly

The single biggest source of “I fixed it and it is still wrong” is a sloppy measurement. Do not estimate against dialogue you are half-listening to. Pick a line with a hard edge — a door slam, a shouted name, the first word after a silence — and write down two numbers:

  1. The timestamp the subtitle file gives that line. Open the SRT in any text editor if you want it exactly; it is plain text.
  2. The position in your video where the sound actually happens. Scrub to it and pause.

The difference between the two is your offset. One clean edge beats five vague impressions, because you are measuring a moment rather than a feeling.

Scrubbing to the exact instant of a sound is still guesswork, and half a second of slop here is enough to leave the file visibly wrong after you have “fixed” it. There is a more accurate way that skips the clock entirely: nudge the delay in VLC until the line lands and read the number the player has been keeping for you.

Which way does the shift go?

This is where most people burn their second attempt. The sign follows what the subtitle is doing, not what you want it to do:

  • Subtitle appears before the line is spoken — it is early, its timestamps are too small, so you add time. Positive shift.
  • Subtitle appears after the line is spoken — it is late, its timestamps are too large, so you subtract. Negative shift.

If you cannot keep the rule straight, do not agonise over it. Apply your best guess, check one line, and flip the sign if it got worse. The cost of being wrong is ten seconds; the cost of staring at it is longer.

Fix the file, not the player

Every video player offers a subtitle delay control — VLC’s g and h keys are the famous ones. They work, and they are the wrong tool, because they adjust playback rather than the file. The correction lives in that session and dies with it. Close the player and it is gone. It never reaches your TV, your phone, or your media server. Send the file to someone else and they get the broken timings you already fixed once.

Writing the shift into the subtitle file takes the same thirty seconds and holds forever, in every player, for everyone you hand the file to. It is the same principle as printing a static QR code instead of renting a redirect: repair the artifact itself, and it stops being your problem.

If it is still off after shifting

  • Off by a consistent smaller amount. Your measurement was close but not exact. Re-measure against a harder edge and shift again by the remainder — shifts stack cleanly.
  • Now correct at one end, wrong at the other. You had drift, not an offset, and the shift moved the error rather than removing it. Go to the drift guide and use two anchors.
  • Right for the first half, wrong after an ad break. Your video is a different cut with material added or removed mid-film. No single linear correction fits both halves. See subtitles out of sync halfway through for finding the break and fixing each side of it, or find a subtitle file matching your release.