Subtitles Out of Sync? How to Fix Subtitle Delay
Check one line near the start and one near the end. Same delay at both? Shift the whole file by that many seconds. Delay bigger at the end? The subtitles were made for another frame rate — convert 23.976 ↔ 25 or 24 ↔ 25. In sync up to a point, then off? Your video is a different cut: split the file there, fix the second part, and merge it back.
Dragging a subtitle delay slider until it looks right works for a few minutes, then the lines drift away again — because most sync problems aren't a single delay. Diagnose first, then apply the matching fix. All the tools below are free and run in your browser.
Which kind of out of sync do you have?
| What you see | Cause | Fix | Free tool |
|---|---|---|---|
| Every line early or late by the same amount | Different intro, or a release with a few seconds more or less at the start | Shift by a fixed number of seconds | Shift subtitles |
| Fine at the start, worse and worse later | Frame-rate mismatch (23.976 / 24 vs 25 fps) | Convert frame rate | Subtitle FPS converter |
| Drifts, but not at a standard frame-rate ratio | Re-encoded or speed-changed video | Scale by a speed factor | Subtitle speed |
| Fine up to a point, then off by a fixed amount | Different cut, extra scene, ad break | Split, shift the second part, merge | Split + merge subtitles |
Translation method comparison table
Measure the delay (the calculator part)
You need two numbers per check: when a line should appear (when it is spoken in the video) and when it does appear (its start time in the subtitle file). Pick a short, clear line — a name, a “Hello?” — so the moment is easy to spot.
Check a line near the start
Play the video, pause when the line is spoken, and note the player time — say 00:10:26. Open the SRT in a text editor and find that line's start time — say 00:10:24,000. Delay = spoken − file = +2 s (the subtitles are 2 seconds early).
Check a line near the end
Do the same about 40 minutes later. If the delay is still about +2 s, it's a constant offset — go to shift. If it has grown, it's drift.
For drift, work out the speed factor
Factor = (spoken time 2 − spoken time 1) ÷ (file time 2 − file time 1), in seconds. Then compare it with the frame-rate ratios below.
A worked example with two measurements:
Line A: file 00:10:00 (600 s) spoken 00:10:26 (626 s) Line B: file 00:50:00 (3000 s) spoken 00:52:08 (3128 s) factor = (3128 - 626) / (3000 - 600) = 2502 / 2400 = 1.0425 25 / 23.976 = 1.0427 -> convert from 25 fps to 23.976 fps
The ratios worth knowing:
- ≈ 1.043 or ≈ 0.959 — 25 fps vs 23.976 fps (PAL vs NTSC film), about 2.5 minutes per hour.
- ≈ 1.042 or ≈ 0.960 — 25 fps vs 24 fps, almost the same size.
- ≈ 1.001 — 24 vs 23.976 fps, only about 3.6 seconds per hour — easy to mistake for a constant delay in a short check.
A factor above 1 means the subtitles need to run slower (later); below 1, faster (earlier). If you get no clear ratio and the error jumps instead of growing steadily, see partial offsets.
Quick fix inside the player
VLC
While the video plays, press H to delay the subtitles by 50 ms and G to make them 50 ms earlier — VLC shows the current delay on screen. For bigger jumps, type the value in Tools → Track Synchronization (in seconds). These are the Windows and Linux defaults; VLC for Mac uses different keys, listed under Preferences → Hotkeys. The setting is for this playback only — VLC doesn't save it into the SRT.
Subtitle Edit (free, Windows)
Subtitle Edit fixes the file itself. Synchronization → Adjust all times shifts every line (or only the selected ones) earlier or later; Synchronization → Change frame rate converts between frame rates. Save the file afterwards.
1. Constant delay: shift the whole file
Measure the delay
As above: spoken time minus file time. +2 means the subtitles are early; -1.5 means they are late.
Shift
Open the shift subtitles tool, paste or upload the SRT or VTT, and enter the seconds (positive = later, negative = earlier, decimals allowed).
Download and spot-check
Download the file, keep the same name as the video, and check a line near the start and one near the end.
2. Drift that grows: convert the frame rate
The same film is released at 23.976 or 24 fps (cinema, Blu-ray, most streaming) and at 25 fps (PAL TV and older European DVDs, sped up by about 4%). Subtitles timed for one version slowly fall out of step with the other.
Pick the pair
From your factor: 1.043 → from 25 to 23.976; 0.959 → from 23.976 to 25; 1.042 / 0.960 → the 24 ↔ 25 pair. If you know the video's frame rate (VLC: Tools → Codec Information), use that as the target.
Convert
In the subtitle FPS converter, set “from” to the frame rate the subtitles were made for and “to” to your video's.
Then fix any leftover offset
If every line is now off by the same small amount (a different intro, say), finish with the shift tool.
3. A different speed: scale by a factor
If the subtitles drift but your factor doesn't match a frame-rate pair — a re-encoded file, a video that was sped up for upload, a recording at a slightly different speed — enter the factor directly in the subtitle speed tool. It multiplies every timecode: 1.05 makes the subtitles about 5% slower, 0.95 about 5% faster. Because timecodes are scaled from zero, measure again after scaling and shift away any remaining constant offset.
Only part of the file is off
Lines that are perfect for the first 40 minutes and then all late by 30 seconds point to a different cut: an extra scene, a recap, or an ad break in a TV recording. Fix only the part after the jump.
Find the first wrong line
Note its start time in the file (e.g. 00:41:10) and when it is actually spoken in the video (e.g. 00:41:40).
Split just before it
In split subtitles, split at a time between the last good line and the first wrong one. Part 2 is re-timed so its first line starts at zero.
Merge back with the right offset
In merge subtitles, add part 1, then part 2, and set the offset to the time the first wrong line should appear — here 41:40, i.e. 2500 seconds. Repeat for each jump if there are several ad breaks.
If lines are missing or extra (a scene that isn't in your video at all), no tool can line them up automatically — delete or retime those lines by hand in a subtitle editor.
Fix it in the player or in the file?
- Player: fine for one viewing of a constant delay. Most players forget the setting when you close the file, and many TV apps only offer coarse steps.
- File: needed for drift (players can't change speed), for partial offsets, and whenever the subtitles go anywhere else — a TV, a phone, a friend, a translation, or a burned-in export.
Tip: rename the fixed file to match the video (movie.mp4 + movie.srt) so players load it automatically, and keep the original until you've checked the end of the film.
Frequently asked questions
How do I fix subtitles that are out of sync?
First check whether the gap is the same all the way through. If every line is early or late by the same amount, shift the whole file by that many seconds. If the gap grows as the video plays, the subtitles were made for a different frame rate — convert it (usually 23.976 ↔ 25 or 24 ↔ 25). If only part of the file is off, split it at the point where the problem starts and fix that part on its own.
How do I work out the subtitle delay?
Pick a clear line of dialogue. Note the time the line is actually spoken in the video, and the start time of that line in the subtitle file. The difference is your delay: spoken minus file time. A positive number means the subtitles are early and must move later; a negative number means they are late and must move earlier.
Why do my subtitles get more out of sync as the movie goes on?
Because the subtitle file was timed for a version of the video running at a different speed — typically a 25 fps PAL release versus a 23.976 or 24 fps film release. The difference is about 4%, roughly 2.5 minutes per hour. A shift can't fix that; a frame-rate conversion can.
Can I fix subtitle delay without downloading anything?
Yes. In VLC, press G or H to move subtitles by 50 ms at a time while the video plays (on a Mac the keys can differ — check VLC's Hotkeys preferences). To fix the file itself, use an online subtitle shifter that runs in your browser; the file doesn't need to be uploaded to a server.
Should I fix the delay in the player or in the file?
Use the player for a one-off watch. Fix the file if you will watch it again, play it on a TV or another device, share it, translate it, or burn it into the video — player adjustments usually reset when you close the video and don't travel with the file.
The subtitles are in sync at the start but wrong after the middle. Why?
Your video has a different cut from the one the subtitles were made for — an extra scene, a removed scene, or an ad break. Everything after that point is off by a fixed amount. Split the file at that point, fix the timing of the second part, and merge the two parts back together.
Timing fixed? Translate it next
Translate your SRT or VTT into another language — every cue keeps its timecodes, so the translation stays in sync.
No account needed to start.