Open ToolsGet the Android App

Files never leave your device.

Subtitle Sync & Shifter: Fix Out-of-Sync Subtitles

Subtitle sync for files that are early, late or drifting. Shift every line by a few milliseconds, resync the whole file from two reference lines, or convert between 25 and 23.976 fps timing, the usual cause of subtitles that start fine and slowly fall behind. The fixed file is saved permanently, so every player shows it in sync. Nothing is uploaded.

  • Runs on your device
  • Browser APIs
  • Works offline

Updated

Drop your subtitle files here

SRTVTTASSSSASBVLRC
Processed on your device — never uploaded0 bytes uploaded

How to fix out-of-sync subtitles

  1. Step 1: Drop your subtitle file (SRT, VTT, ASS and other text formats work).

  2. Step 2: Pick the fix: Shift all for a constant delay, Two-point for drift that grows, Frame rate for PAL and film versions.

  3. Step 3: Enter the values, for example +1500 ms if the subtitles appear 1.5 seconds too early.

  4. Step 4: Press Sync and download the corrected file.

Good to know

Settings explained

Fix
  • Shift all: Constant delay
  • Two-point: Drift that grows
  • Frame rate: 23.976 ↔ 25 fps
Shift by
Positive = subtitles appear later, negative = earlier. 1000 ms = 1 second.
First line now at
Leave both “now at” times at 0:00 to use the file’s actual first and last lines.

Formats

Opens
SRTVTTASSSSASBVSUBSMILRCTTMLDFXP
Saves as
SRT (SubRip)VTT (WebVTT)ASS (Advanced SubStation)

Batch-friendly: add many files and they are processed one after another — if one fails, the rest still finish.

How it runs

Built-in browser features
Uses standard browser features only — nothing extra to download.

Shift, two-point or frame rate: which fix you need

Watch one line near the start and one near the end. If both are off by the same amount, shift. If the gap grows, the timing has to be stretched, either from two reference points or by a known frame-rate ratio.

The three subtitle sync modes
What you seeModeWhat you enter
Every line is early or late by the same amountShift allThe delay in ms: positive = later, negative = earlier
In sync at the start, worse towards the endTwo-pointWhen the last line should appear (and the first, if it is off too)
Drift of about 2.5 minutes per hourFrame rate25 fps (PAL) subtitles on a 23.976 fps video, or the reverse
Some scenes fine, others offSubtitle editor onlineRetime the affected lines one by one

Why subtitles get out of sync

A constant offset happens when the subtitles were timed for a version with a different start: an extra studio logo, a recap or a few seconds trimmed from a recording. Every line is wrong by the same amount, and one shift fixes it.

Drift means the subtitles were timed for a release that plays at a different speed. European PAL video runs at 25 frames per second, about 4% faster than the 23.976 fps film version, so a subtitle made for one slides further out on the other every minute.

How far subtitles drift at the wrong frame rate

This is how much the Frame rate mode moves a line, depending on how far into the file it is. The same numbers tell you how badly unsynced subtitles will be off.

Frame-rate correction by position in the file
Subtitles → videoStretchAt 10 minAt 1 hourAt 2 hours
25 → 23.976 fps×1.04271+25.6 s+2 min 34 s+5 min 08 s
23.976 → 25 fps×0.95904−24.6 s−2 min 27 s−4 min 55 s
25 → 24 fps×1.04167+25.0 s+2 min 30 s+5 min 00 s
24 → 23.976 fps×1.00100+0.6 s+3.6 s+7.2 s
Computed with the tool’s own formula: new time = old time × subtitle fps ÷ video fps. Plus means lines move later.

How to find the right subtitle offset

Play the video and pick a short, clear line. Note when it is spoken, then when its subtitle appears. If the subtitle comes 1.5 seconds before the voice, shift by +1500 ms; if it comes 0.8 seconds after, shift by −800 ms.

For Two-point, do the same with a line near the end. Leave both “now at” fields at 0:00 and the tool uses the file’s real first and last lines, so you only type where they should be.

Sync subtitles for Plex, Jellyfin or VLC permanently

Players can fix timing for one viewing (in VLC, the G and H keys change the subtitle delay), but the setting does not travel with the file. Fixing the file itself works everywhere. Save the result under the video’s name, such as Movie.en.srt next to Movie.mkv, and Plex or Jellyfin pick it up on the next library scan.

Tips & troubleshooting

  • A line that would end before 0:00 after a negative shift is removed, and the result says how many. Use a smaller shift if that is not what you want.

  • Two-point refuses reference lines less than half a second apart, or a stretch beyond 2×. Both mean a typo in the times.

  • ASS files keep their styles and override tags. Change Save as under Advanced settings to get SRT, VTT or ASS instead.

  • Fixing dual-language subtitles? Sync each file first, then combine them with merge SRT files.

Subtitle Sync / Shifter FAQ

How do I fix subtitles that are out of sync?

Find how far off one line is, enter that delay in Shift all (positive if the subtitles are early) and press Sync. If the delay grows during the film, use Two-point with a line near the end, or Frame rate for 25 vs 23.976 fps versions.

Why do subtitles start in sync but drift later?

They were timed for a version running at a different speed, usually a 25 fps PAL release on a 23.976 fps video. The gap grows by about 2.5 seconds every minute. The Frame rate mode stretches the timing back.

What is subtitle offset?

The constant time difference between when a line is spoken and when its subtitle appears. A positive offset makes subtitles appear later, a negative one earlier. 1000 ms is one second.

Can I sync subtitles to the video automatically?

Not by listening to the audio. This tool applies the shift or stretch you choose. If the subtitles are hopeless, auto captions can write new, correctly timed ones from the speech.

Is your subtitle file uploaded anywhere?

No. Your subtitle file is processed by your own browser on your own device. There is no server that receives files, so nothing is uploaded, stored or shared. You can even switch to airplane mode once the page has loaded.

All subtitle tools