SubtitleMedic

Shift Subtitle Timing

Subtitles showing up too early or too late? Load your subtitle file (.srt, .vtt, .ass, .sbv or .sub), choose how many seconds to move it, and download the fixed version.

Processed in your browserNo sign-up.srt, .vtt, .ass, .sbv, & .sub

How to fix out-of-sync subtitles

  1. Find the offset

    Play the video in VLC or your usual player and compare one line to the moment it’s spoken. Note the gap in seconds, for example 2.5.

  2. Load your subtitle file

    Drop the subtitle file (.srt, .vtt, .ass, .sbv or .sub) into the box above, or click to browse. It opens in your browser; nothing is uploaded.

  3. Check against your video (optional)

    Open the video under Preview to watch the subtitles on it as you edit. Click a line to jump the video to it and check that the text appears as the line is spoken.

  4. Choose direction, offset and lines, then apply

    Pick “Too late → show earlier” if the text lags behind the voices, or “Too early → show later” if it comes first. Enter the seconds, keep the whole file or choose a range of lines, check the preview and press “Apply shift”. Another part off by a different amount? Set it up and apply again.

  5. Download and test

    Download once every shift is applied, and save the file next to your video with the same name, so VLC and Plex load it automatically. Still slightly off? Apply a small extra shift and download again.

Why do subtitles go out of sync?

Different releases of the same video. Subtitles made for one cut rarely match another. A longer studio intro or an extended edition adds a few seconds at the start, and every line after it arrives late.

Frame rate differences. Subtitles timed for 25 fps video (common in Europe) drift steadily against a 23.976 fps file. The gap grows as the film plays, so a single offset won’t fix it; that needs a frame rate conversion.

Cuts, ads and re-edits. TV recordings and re-edited videos may remove or add scenes, so the delay can change after each ad break. Shift one stretch of lines at a time with “From line” and “To line”, applying each before moving on. If a moved line would run into the next one, its end is cut so they don’t overlap.

Tips for a perfect sync

Measure on a line with a clear start. Pick a short, sharp line such as a name or a single word, rather than a long sentence that fades in. Pause the video the moment the actor starts speaking, then note both times. The difference between them is your offset.

Check two places, not one. Compare a line near the start and a line near the end. If the gap is the same in both places, shifting fixes the whole file. If the gap near the end is bigger, the subtitles were made for a different frame rate and a plain shift will only fix part of the film.

Use the player to find the value, then fix the file. VLC’s G and H keys move subtitles by 50 ms at a time, and MPC-HC offers the same with its subtitle delay setting. Once the delay looks right, enter it here and download the fixed file, so every device and every player gets the right timing without any adjusting.

Keep the file names together. Most players load a subtitle automatically when it sits in the same folder and shares the video’s name, for example movie.mkv and movie.srt, or movie.en.srt for a language tag. Plex and Jellyfin read the same pattern. Rename the downloaded file to match, and remove the old one so the player doesn’t pick it by mistake.

Need WebVTT for the web? Browsers, HTML5 players and many video platforms expect .vtt files. The shifted file keeps the format it came in; once it is saved, follow the link under the download to the conversion tools and open the shifted file there.

Frequently asked questions

Are my subtitle files uploaded anywhere?

No. Your file is read and processed by JavaScript in this browser tab. It never leaves your device, and the tool keeps working if you go offline after the page loads. A video you open to check the timing plays straight from your disk too.

Can I shift only part of a subtitle file?

Yes. Pick the first and last out-of-sync line in “From line” and “To line”, or pick them in the preview by clicking the first line and Shift+clicking the last (on a phone, tap one then the other). Lines outside the range keep their times. Apply the shift, then fix the next part the same way; every applied shift ends up in the downloaded file.

Can I check the subtitles against my video here?

Yes. Once the subtitle file is open, press “Open a video to check” or drop the video onto the tool. It plays with the subtitles as you edit them, and clicking a line jumps the video to it, so you can see whether the offset is right before downloading. Browsers play MP4 and WebM best; some MKV files, and AC3 or DTS sound, may not play.

How do I know whether to shift earlier or later?

If you hear the dialogue before the text appears, the subtitles are too late, so choose “show earlier”. If the text appears before anyone speaks, choose “show later”.

Which subtitle formats are supported?

SubRip (.srt), WebVTT (.vtt), Advanced SubStation Alpha (.ass and .ssa), YouTube SBV (.sbv) and MicroDVD (.sub). You can save the result in any of them, for example an .ass file as .srt for a TV. Italic, bold and underline survive the conversion; ASS styles and positions only stay in .ass. MicroDVD counts frames, so check the frame rate shown next to the file name. DVD and Blu-ray picture subtitles (.sub with .idx, .sup) can’t be edited.

My subtitles drift further off over time. Will shifting fix it?

Not on its own. A growing gap usually means a frame rate mismatch, such as 25 against 23.976 fps. Shifting fixes a constant delay; for the growing part, use Change Frame Rate first, then shift what’s left.