How to Fix Out-of-Sync Subtitles (2026 Guide)
Last updated: September 24, 2026 ยท Reading time: ~5 minutes
Why subtitles go out of sync
Subtitle sync issues usually come from one of these causes:
- Frame rate mismatch โ Your video is 30 fps but the subtitles were
timed for 24 fps (or vice versa). The audio plays at the correct speed, but the
timecodes are stretched.
- Variable frame rate (VFR) capture โ Screen recordings or some phone
cameras record at variable frame rates. The timecodes don't match real time.
- Source clip trimmed after subtitles added โ You added subtitles to a
5-minute clip, then trimmed the clip to 4:30 from the start. The first 30 seconds of
subtitles now overlap with the new head of the clip.
- Conversion from one container to another โ MKV to MP4, MOV to MP4,
etc. can drop or repeat frames, shifting subtitle timing.
- FPS misdetection on import โ Final Cut Pro interpreted a 23.976 fps
clip as 24 fps, shifting subtitles by 0.1%.
Fix #1: Auto-distribute timestamps
If your subtitles have wrong timestamps but the total duration is correct, the
easiest fix is to redistribute them across the actual video duration.
Open the JianHeBox Subtitle Workshop, paste
your SRT, click Auto-distribute. The tool will space your cues evenly
across the video duration.
Fix #2: Shift all cues by a fixed amount
If the subtitles are off by a consistent amount (say, 1.5 seconds too early), use
the Shift N tool. Enter -1.5 (negative = earlier, positive = later) and
all cues shift together.
Fix #3: Fix overlapping cues
If two cues overlap (one starts before the previous one ends), the player will either
skip one or display both. Use Fix Overlap to automatically end the first
cue at the second cue's start.
Fix #4: Match frame rate
If your video is 23.976 fps but subtitles are 24 fps, your subtitles will drift slowly.
Multiply all timestamps by 23.976 / 24 = 0.999:
# In the Subtitle Workshop, click "Shift N" and enter:
-0.001 # (one-thousandth of total duration)
# Or use FFmpeg directly:
ffmpeg -i video.mp4 -i subs.srt -c copy -timecode 00:00:00:23 output.mp4
Fix #5: Trim the source clip back
If you trimmed a clip after adding subtitles, your subtitles now start at the wrong place.
In Final Cut Pro:
- Select the captions track.
- Move the playhead to where the clip now begins.
- Select all captions.
- Drag them right by the amount you trimmed (or use Modify โ Retime โ Shift).
Diagnose first, then fix
Before you reach for any tool, figure out what's wrong:
- Play the video with subtitles on. At what point do they go out of sync โ immediately
or gradually?
- If immediately: the offsets are wrong by a fixed amount. Use Shift N.
- If gradually: the frame rate is wrong. Check the video's actual frame rate with
FFmpeg:
ffprobe -v error -select_streams v:0 -show_entries stream=r_frame_rate -of default=noprint_wrappers=1:nokey=1 video.mp4
- If at specific points: the captions have wrong individual timing. Edit them by hand or
re-time them against a fresh transcription.
The fast fix
If you're in a hurry, paste your SRT into the
JianHeBox Subtitle Workshop and use
Auto-distribute. That fixes 80% of sync problems.
Related Articles
Try the JianHeBox Subtitle Workshop
Convert SRT, VTT, FCPXML, iTT in your browser. No upload, no signup.
Open Free Tool