How to Fix Out-of-Sync Subtitles (2026 Guide)

Last updated: September 24, 2026 ยท Reading time: ~5 minutes
๐ŸŽฌ Subtitle Workshop โ€” 1-click sync fix
Auto-distribute, shift, and gap-fix tools included.
Open Subtitle Workshop โ†’

Why subtitles go out of sync

Subtitle sync issues usually come from one of these causes:

  1. 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.
  2. Variable frame rate (VFR) capture โ€” Screen recordings or some phone cameras record at variable frame rates. The timecodes don't match real time.
  3. 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.
  4. Conversion from one container to another โ€” MKV to MP4, MOV to MP4, etc. can drop or repeat frames, shifting subtitle timing.
  5. 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:

  1. Select the captions track.
  2. Move the playhead to where the clip now begins.
  3. Select all captions.
  4. 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:

  1. Play the video with subtitles on. At what point do they go out of sync โ€” immediately or gradually?
  2. If immediately: the offsets are wrong by a fixed amount. Use Shift N.
  3. 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
  4. 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.

๐ŸŽฌ Fix your subtitle sync now
Free online tool, no upload, works in your browser.
Open Subtitle Workshop โ†’

Related Articles

Try the JianHeBox Subtitle Workshop
Convert SRT, VTT, FCPXML, iTT in your browser. No upload, no signup.
Open Free Tool