Subtitle Sync Shifter: Fix Out-of-Sync SRT & VTT Subtitles Online
Learn how to fix out-of-sync subtitles in seconds with Subtitle Sync Shifter β a free online tool to shift SRT and VTT timestamps by an offset or rescale the whole track, 100% in your browser.
Free Interactive Tool
Subtitle Sync Shifter
Shift all SRT/VTT subtitle timestamps by a fixed offset or linear rescale to fix out-of-sync subtitle files, 100% in-browser.
Table of Contents
Few things ruin a movie night faster than subtitles that refuse to cooperate. The dialogue happens, a beat passes, and then the caption shows up β or worse, it gives away the line seconds before anyone speaks. Whether you are working with a fan-subbed release, a file grabbed from a different region's Blu-ray rip, or a capture with the wrong frame rate, timing problems are incredibly common.
Subtitle Sync Shifter fixes this in seconds. Paste or load your SRT or WebVTT file, tell it how far the captions are off, and it rewrites every timestamp in the file for you. If the whole track is uniformly late, a single fixed offset does the job. If the timing drift gets progressively worse β close at the start, seconds off by the end β a two-point linear rescale stretches the entire timeline back into shape. And because everything runs in your browser, the file never leaves your machine.
In this guide you will learn when to use a fixed offset versus a linear rescale, how to run the tool step by step, and a handful of practical scenarios where it saves the day.
Why Use Subtitle Sync Shifter?
- No software to install. Dedicated subtitle editors are powerful but heavy. This tool runs in any modern browser β open the page, fix the file, download the result.
- Two correction modes. A constant delay is the most common problem, but drifting timelines need a linear rescale. Having both in one tool means you never have to fall back to spreadsheet math.
- Format-aware output. The tool auto-detects whether your file is SRT or WebVTT and writes the timestamps back in the same dialect β comma milliseconds for SRT, dot milliseconds for VTT β so players accept the file without complaints.
- 100% private. Every calculation happens in JavaScript on your device. Your subtitles are never uploaded to a server, which matters when the file is an unreleased cut or licensed content.
- Instant feedback. The parser reads your cues and shows cue counts and a preview, so you can sanity-check that the file was understood before committing to a shift.
- Free and fast. There is no registration, no watermark, and no queue. Even a two-hour movie's subtitle file shifts in a fraction of a second.
Key Features
| Feature | What It Does |
|---|---|
| Fixed offset shift | Move every timestamp earlier or later by the same amount, in milliseconds or seconds |
| Linear rescale | Stretch or compress the whole timeline using two anchor points (original time β correct time) |
| SRT / VTT auto-detect | Reads the file header and cue format, then outputs the same format it found |
| Negative offsets | Supported natively β shift subtitles earlier just as easily as later |
| Cue preview and stats | Confirms the file parsed correctly and shows how many cues were found |
| In-browser processing | No uploads, no accounts; works offline once the page has loaded |
A few of these deserve a closer look:
- The offset accepts decimals. Entering -1.5s shifts everything one and a half seconds earlier β precision that matters when you are nudging captions into place against a specific line of dialogue.
- Rescale anchors are timestamps, not percentages. You describe corrections the way you discovered them: "at 1 minute the subtitle should be at 1:02" and "at 40 minutes it should be at 40:10.5." The tool derives the scale factor itself.
How to Use
- Open the tool. Head to Subtitle Sync Shifter in your browser. Nothing to install, nothing to sign up for.
- Load your subtitle file. Paste the SRT or VTT content into the input area, or select the file from your device. The tool detects the format automatically and reports how many cues it found.
- Pick your correction mode. Use the Shift mode for a constant offset β enter the amount in milliseconds or seconds, negative to move subtitles earlier. Use Rescale when the timing drifts, and fill in the two anchor pairs.
- Apply and preview. The shifted timestamps appear immediately in the preview area. Spot-check the first cue, a middle cue, and the last cue against your notes.
- Download the fixed file. Save the corrected subtitle file and drop it next to your video. Most players pick it up automatically when the filenames match.
Fixed Offset vs Linear Rescale
Choosing the right mode is the difference between a ten-second fix and an hour of frustration, so it is worth understanding what each one actually does.
A fixed offset adds (or subtracts) the same duration from every single timestamp in the file. This is the right tool when the entire subtitle track is uniformly out of sync β every caption is exactly 2 seconds late, or exactly 500 milliseconds early. That happens constantly in practice: the subtitle file was authored for a different release of the film, a broadcast added intro frames, or the file was simply exported with a start delay. One number fixes the whole file.
A linear rescale handles the sneakier problem: timing drift. Suppose the first subtitle lines up perfectly, but by the two-hour mark the captions lag five seconds behind the picture. No single offset can fix both ends at once β the error grows over time. This almost always comes from a frame rate mismatch: the subtitle file was timed against a 23.976 fps version of the film but is being played with a 25 fps print (or vice versa). Over thousands of frames, those tiny fractional differences compound into seconds.
The rescale works with two anchor points. You tell the tool: "this cue at 00:01:00,000 should really be at 00:01:02,000" (anchor A), and "this cue at 00:40:00,000 should really be at 00:40:10,500" (anchor B). The tool computes a scale factor from the ratio between the two corrections β essentially scale = (to2 β to1) / (from2 β from1) β and maps every timestamp in the file through that linear function. In plain English: it stretches or squeezes the whole timeline so both of your corrections land exactly where they should, and everything in between lands proportionally.
The practical rule of thumb: pick anchors near the start and near the end of the file, and make each correction as precise as you can (pause on a distinctive line of dialogue and note both timestamps). Two good anchors spread far apart produce an accurate scale; two anchors close together amplify any measurement error across the whole file.
Practical Use Cases
Fixing a frame-rate mismatch
You downloaded a subtitle file created for the 23.976 fps Blu-ray, but your copy of the film is the 25 fps PAL version. The captions start more or less fine and drift later and later. Measure one early cue and one late cue, enter them as anchor pairs in Rescale mode, and the entire file snaps into sync. This single scenario is probably responsible for most "subtitles out of sync" searches on the internet.
Syncing a fan-subbed or community release
Community subtitle files often target a specific release β a particular scene cut, a different opening, or removed broadcast logos. If the target video simply starts its content a couple of seconds later than the version the subber used, a fixed offset restores perfect sync in one pass. Check one or two cues, note the difference, shift, done.
Correcting progressively drifting captions
Older rips and re-encoded captures sometimes run at very slightly wrong speeds. Here the drift is subtle at first β half a second by the half-hour mark, two seconds by the end. Constant-shift fixes fail because the error changes over time; this is exactly what the two-anchor linear rescale was designed for. Anchor early, anchor late, rescale.
Reusing a subtitle file with a different cut
A director's cut adds minutes at the start; a TV broadcast trims scenes. Rather than re-timing hundreds of cues by hand in a full editor, shift or rescale the existing file and enjoy a perfectly usable result β especially for dialogue-heavy films where cue boundaries stay put even when the picture around them changes.
Best Practices
- Diagnose before you shift. Note one early cue and one late cue against the video. If both are off by the same amount, use a fixed offset; if the error grows, use a rescale.
- Prefer the smallest offset that works. If the delay is 1.8 seconds rather than a clean 2, trust your measurement β rounded numbers are a common source of "almost but not quite" sync.
- Use precise, far-apart anchors for rescales. Anchor A should sit in the first few minutes and anchor B near the end of the file. Precision at both ends is what makes the linear map accurate everywhere else.
- Keep the original file. Always download the corrected file under a new name or keep a backup, so a bad correction never destroys your only copy.
- Verify three points after shifting. Check the first cue, a middle cue, and the final cue against the video. All three matching means the whole track matches.
- Match your player's expectations. The tool preserves SRT and VTT formatting automatically, but if you edit the output by hand, keep SRT's comma milliseconds and VTT's dot milliseconds β that is the difference between a file players accept and one they silently reject.
Ready to Fix Your Subtitles?
Stop scrubbing back and forth trying to watch a film through captions that will not cooperate. Open Subtitle Sync Shifter, load your SRT or VTT file, apply an offset or a rescale, and download a perfectly synced track β all in under a minute, all inside your browser, all for free.
Related Tools You Might Like:
- Subtitle Format Converter β convert between SRT, VTT, ASS/SSA and other subtitle formats.
- Timezone Converter β translate times across zones for release scheduling and watch parties.
- Unix Timestamp Converter β decode and convert epoch timestamps for logs and scripts.
Happy syncing!
Frequently Asked Questions
Q: Is my subtitle file uploaded to a server?
A: No. Subtitle Sync Shifter parses and rewrites the timestamps entirely in your browser with JavaScript. The file never leaves your device, and the tool keeps working even if you go offline after loading the page.
Q: Can I move subtitles earlier, not just later?
A: Yes. Enter a negative offset β for example -1500 milliseconds β and every timestamp moves 1.5 seconds earlier. Positive offsets delay the captions instead.
Q: When should I use a linear rescale instead of a fixed offset?
A: Use a fixed offset when every subtitle is off by the same amount. Use a linear rescale when the error changes over time β cues near the start are almost right but cues near the end drift by seconds, which is typical of a frame rate mismatch (23.976 fps vs 25 fps).
Q: Does the tool change my SRT file into VTT or the other way around?
A: No. The tool detects whether your input is SRT or WebVTT and writes the output in the same format, preserving the correct timestamp separator β commas for SRT, dots for VTT. If you need an actual format conversion, use the Subtitle Format Converter.
Q: What are good anchor points for a rescale?
A: Pick two cues you can time precisely β one in the first few minutes of the file and one near the end. For each, note the timestamp in the subtitle file and the timestamp where that line should appear in your video. Anchors spread far apart give the tool an accurate scale factor for the whole timeline.