Why Are Subtitles Out of Sync?

Subtitle timing is encoded relative to a specific version of a video file. If your subtitle was made for a different cut, encode, or frame rate than your video, it will be early or late — sometimes by a constant offset, sometimes drifting over time. The good news: most sync problems are fixable in under five minutes.

Identifying the Type of Sync Problem

Before choosing a fix, figure out what kind of mismatch you have:

  • Constant offset: Subtitles are consistently X seconds ahead or behind throughout the entire video. This is the most common issue and the easiest to fix.
  • Gradual drift: Subtitles start roughly correct but slowly drift out of sync. Usually caused by a frame rate mismatch (e.g., 23.976 fps vs. 25 fps).
  • Correct start, wrong sync midway: The subtitle file may be for a different version of the film (e.g., theatrical vs. extended cut). A re-download from a matching release is usually the best solution here.

Fix 1: Use VLC's Real-Time Sync (Quickest)

If you just need a quick constant offset fix while watching:

  • Press G to advance subtitles (make them appear sooner).
  • Press H to delay subtitles (make them appear later).
  • Each keypress adjusts timing by 50ms. You can also go to Tools → Track Synchronization and type in an exact delay in seconds (use a negative value to advance).

This adjustment is temporary — it won't save to the subtitle file. For a permanent fix, use a dedicated tool.

Fix 2: Subtitle Edit (Best All-Round Tool)

Subtitle Edit is a free, open-source desktop application (Windows) that handles virtually every sync scenario. Here's how to fix a constant offset:

  1. Open Subtitle Edit and load your .srt file (File → Open).
  2. Go to Synchronization → Adjust All Times.
  3. Enter the offset in milliseconds (positive to delay, negative to advance) and click OK.
  4. Save the file (File → Save).

For drift issues caused by frame rate mismatches, use Synchronization → Change Frame Rate and select the original and target frame rates. Subtitle Edit recalculates all timestamps accordingly.

Fix 3: Two-Point Sync in Subtitle Edit

For more complex drift, the two-point sync method gives you fine control:

  1. Find the first line of dialogue in your video. Note the timestamp when you actually hear it.
  2. Find a subtitle line near the end of the film and note the real timestamp for that too.
  3. In Subtitle Edit, go to Synchronization → Visual Sync.
  4. Enter your two reference points. The tool stretches or compresses all subtitle timings to match.

This method corrects both offset and drift in a single operation.

Fix 4: Online Tools (No Install Required)

If you're on macOS or Linux and don't want to install Subtitle Edit, several browser-based tools handle basic offset correction:

  • Subshifter.com — Upload an SRT file, enter your offset, download the corrected file. Simple and fast.
  • Subtitletools.com — Offers offset shifting, frame rate conversion, and character encoding fixes all in one place.

Fix 5: Checking Your Frame Rate

Frame rate mismatches are a common cause of drift. To check your video's frame rate:

  • In VLC: Tools → Media Information → Statistics tab — look for "Video frame rate".
  • Right-click the video file and check Properties (on Windows with a media info extension), or use the free tool MediaInfo for detailed technical metadata.

Common mismatches: a subtitle made for a 25fps PAL broadcast applied to a 23.976fps NTSC encode, or vice versa.

Prevention: Download the Right Subtitle First

The best sync fix is avoiding the problem. When downloading subtitles, match the release tag precisely — the group name, resolution, and encode type (e.g., BluRay.x264) in the subtitle filename should match your video file. Sites like OpenSubtitles offer a "match by hash" search that identifies the exact version of your file and returns only matching subtitles.

Most sync issues are solvable in minutes with the right tools. Start with VLC for a quick fix, graduate to Subtitle Edit for anything more complex, and you'll never have to endure mistimed subtitles again.