Skip to main content
← All guides

Subtitles out of sync? Two different faults, two different fixes

Before you start nudging numbers, find out which of the two faults you have. They look the same in the first minute and completely different by the end, and the fix for one does nothing for the other.

The test that tells them apart

Note how far off the subtitles are near the beginning of the video — say three seconds late at the two-minute mark. Then skip to somewhere near the end and measure again. If it is still about three seconds late, you have a constant offset. Shift the whole file and you are done. If it has grown — three seconds early on, eleven seconds late by the end — the file is running at the wrong speed. No amount of shifting will fix it: move it into sync at the start and the ending drifts just as far the other way.

Fault one: a constant offset

This is the common one, and it is nearly always structural. The subtitle file was made for a copy of the video with a different opening — a distributor card, a longer logo sting, a version with the recap cut out. Every caption is late or early by exactly the length of the difference. Measure it once, as precisely as you can: find a line of dialogue, note when it is spoken and when the caption appears, and subtract. Then shift the whole file by that number. Negative brings the subtitles earlier, positive pushes them later. Get it within about 0.2 seconds and nobody will notice the remainder. Captions that arrive very slightly early read as normal; captions that arrive late read as broken, so if you must miss, miss early.

Fault two: progressive drift, which is a framerate mismatch

Subtitle timings are often derived from frame counts, and a frame count only becomes a time once you know the framerate. Cinema and streaming masters commonly run at 23.976 frames per second; European broadcast runs at 25. Point the same frame numbers at the other rate and every timestamp is wrong by a constant ratio. That ratio is what makes the error grow: 25 divided by 23.976 is about 1.0427, so a caption forty minutes in lands roughly a hundred seconds out. The fix is to multiply every timestamp by that ratio, which is a single operation over the whole file rather than a per-cue repair. Pick the pair that matches — 25 to 23.976, 23.976 to 25, 24 to 25, and so on — and check both ends afterwards. If the file is now right at the start and the end, it is right in the middle too.

Both at once

It happens, and the order matters. Correct the framerate first, because that changes where everything sits. Then measure the remaining offset and shift. Doing it the other way round means measuring an offset that the scaling is about to move. That is the order the tool applies them in, so you can set both and check the result once.

When neither fits

If the subtitles are in sync for a stretch, then jump and stay wrong by a new fixed amount, you are looking at an edit — an advert break removed, a scene trimmed for a different market. There is no single number that fixes that file, because it is really two or three correctly-timed files joined end to end. You need a tool that can split at the jump and shift each part on its own, or a different copy of the subtitles that matches your version of the video.


Frequently asked questions

How do I work out exactly how many seconds to shift?

Find a clear line of dialogue, note the time it is spoken in the video, note the time the caption appears, and subtract. Most players show the current time to a tenth of a second, which is more than precise enough.

Should subtitles appear slightly before or after the speech?

Slightly before, if anything. A caption that appears a fraction early reads as natural; the same fraction late reads as a fault, because the viewer has already heard the line.

What is the 23.976 to 25 conversion actually doing?

Multiplying every timestamp by 25 divided by 23.976, about 1.0427. The subtitle events were positioned by frame number against one framerate and are being played against another, so every time value is off by that constant ratio.

Do I have to re-download the video?

No. Nothing here touches the video — you are only changing the timestamps in the subtitle file, which is a small text file.

Retime a subtitle file

More guides


Other things we made

Animunda

Also in English, made by the same people.

CoreFeed

Also in English, made by the same people.

Pixygon.io

Also in English, made by the same people.

HazeChat

Also in English, made by the same people.