SubtitleMedic

How to fix subtitles that are out of sync

Updated October 18, 2026

Subtitles that show up a second too early or too late make a film hard to watch. The good news is that almost every sync problem falls into one of three kinds, and each has a simple fix. The trick is to work out which one you have before you change anything, because the fix for one does nothing for the others.

This guide shows you how to tell them apart in under a minute, how to correct the delay live in VLC, and how to fix the subtitle file itself so it plays right on every device.

Step 1: Find out what kind of problem you have

Play the video and check two moments: one line near the start, and one line near the end, say in the last ten minutes. For each, note how far the text is from the voice. A rough guess like “about two seconds late” is enough for now.

  • The same gap at the start and at the end. This is a constant delay, the most common case. Fix it with Shift Subtitle Timing.
  • In sync at the start, then further and further off. The subtitles were made for a video with another frame rate. Fix it with Change Subtitle Frame Rate.
  • Fine for a while, then suddenly off by a new amount. Scenes were cut or added, as in a TV recording or another edition. Shift one stretch of lines at a time.

Checking two places is the step most people skip. If you only look at the first scene, a frame rate problem looks exactly like a delay, and shifting the file will fix the beginning while the ending stays wrong.

Step 2: Test the delay live in your player

Before you edit any file, find the right value in the player. It takes seconds and you can see the result straight away.

VLC. Press H to delay the subtitles by 50 ms and G to show them 50 ms earlier. The current delay appears in the top-right corner. Hold the key to move faster. To type an exact value instead, open Tools → Track Synchronization on Windows and Linux, or Window → Track Synchronization on a Mac.

MPC-HC and MPC-BE. Use the subtitle delay setting, or F1 and F2 to step the delay down and up.

MPV. Press z and Z (Shift+z) to move subtitles by 0.1 seconds.

Plex, Jellyfin and smart TVs. Most offer a subtitle offset in the playback settings during the video, but the steps are coarse and the setting is often lost when you close the video.

When the text appears exactly as the actor starts talking, write the delay down. A positive value in VLC means the subtitles had to come later; a negative one, earlier.

Step 3: Fix the file for good

A player delay only lasts until you close the video, and it doesn't travel to your TV, your phone or a friend. Fixing the file means you never adjust it again.

A constant delay

Open Shift Subtitle Timing, drop your .srt, .vtt, .ass, .sbv or .sub file in, choose show earlier or show later, and enter the seconds you found in VLC. You can open the video in the same page to check a few lines before you download. The file is saved in the format it came in.

Only part of the film is off, for example after an ad break in a TV recording? Pick the first and last line of that stretch with From line and To line, apply the shift, then fix the next stretch the same way.

A gap that grows through the film

This is a frame rate mismatch. Video in Europe is often 25 frames per second, while cinema and most streaming releases are 23.976. Subtitles timed for one play against the other drift by about five minutes over a two-hour film, so no single shift can fix them.

Change Subtitle Frame Rate asks which way the text drifts and suggests the conversions that fit, showing how far each one moves the last line of your file. Pick the one that lands the final line on the voice. If the first line is also off by a fixed amount, run the result through Shift Subtitle Timing afterwards.

You have another subtitle that is already in sync

This happens often: the English subtitle matches your video, but the one in your language came from another release. Sync Two Subtitles compares the two files, measures the gap between them and shifts the broken one to match. The two files don't need to be in the same language, because the tool compares the timing, not the words.

Step 4: Make the player load the fixed file

Save the downloaded file in the same folder as the video, with the same name: movie.mkv and movie.srt. Add a language code if you keep several, such as movie.en.srt or movie.vi.srt. VLC, MPV, Plex, Jellyfin, Kodi and most TVs then pick it up automatically.

Remove or rename the old, broken file, otherwise the player may keep loading it. And if VLC still remembers your manual delay, reset it to zero (press G or H until it shows 0 ms), or the fixed file will look wrong.

Why subtitles go out of sync in the first place

A subtitle file stores a start and end time for every line, but it doesn't know which video it belongs to. When the video changes, the times don't:

  • Different releases. A Blu-ray rip, a streaming copy and a TV recording of the same film often start at slightly different moments, because of studio logos, recaps or a few frames trimmed at the start.
  • Frame rate. Converting a film to the 25 fps used in Europe speeds it up by about 4%, and the subtitle times must be stretched to match.
  • Edits. Extended editions, censored versions and TV broadcasts add or remove scenes, so the delay changes at each cut.

If you want to understand how those times are written inside the file, What is an SRT file? walks through the format line by line.

Every tool on SubtitleMedic runs in your browser. Your subtitle file and your video are read on your device and are never uploaded.

Tools for this