Subtitle Shifter
- Free
- No upload
- No watermark
Quick answer
Out-of-sync subtitles are almost always off by a constant amount — the whole file is a second or two early or late. A subtitle shifter fixes this by adding or subtracting a fixed offset from every cue’s start and end time at once. Enter how many seconds to shift (negative to pull earlier, positive to push later), and this tool re-times the entire file in your browser. Nothing is uploaded.
Step by step
How to subtitle shifter
- 01
Load the subtitle file
Drop your .srt, .vtt, .ass or other subtitle file in, or paste the text. Format is detected automatically.
- 02
Set the shift amount
Type the offset in seconds. If subtitles appear too early, use a positive value to delay them; if too late, use a negative value to advance them.
- 03
Export the re-synced file
The preview updates live so you can check a cue against the video. Download the shifted file or copy it, keeping the original format.
In depth
How do you work out the right shift?
Play the video and note when the first line of dialogue is actually spoken, then look at the timestamp on that same line in the subtitle file. The difference is your offset. If the line is spoken at 00:00:05 but the subtitle is timed to 00:00:07, the file is two seconds early — shift it by +2 seconds to delay it into place.
Constant offset vs. gradual drift — which do you have?
Shifting only fixes a constant offset — subtitles that are wrong by the same amount from start to finish. If your subtitles start in sync but slowly drift further out as the video plays, you have a frame-rate mismatch, not an offset, and shifting will not fix it. That case needs rescaling (a linear re-sync from two anchor points), because the error grows over time.
| Symptom | Cause | Fix |
|---|---|---|
| Off by the same amount throughout | Constant offset | Shift by ±X seconds (this tool) |
| In sync at the start, drifting by the end | Frame-rate mismatch (e.g. 23.976 vs 25) | Linear re-sync / speed change |
| Correct in parts, wrong in others | Edited or re-cut video | Split and shift each section |
Does shifting work on every format?
Yes. Because the file is parsed into a common timing model first, the shift applies uniformly whether the source is SRT, VTT, ASS, SBV, TTML or LRC, and the file is written back in its original format with the styling intact. Only the timestamps change.
Is the file uploaded to shift it?
No. The re-timing is arithmetic done in your browser — each timestamp has the offset added and the file is rebuilt locally. There is no upload; check the Network tab if you want proof. Your captions stay on your device.
Related subtitle tools
For fine cue-by-cue changes, open the file in the subtitle editor. Need to change the format as well? Use the subtitle converter. Once your timing is right, you can burn the subtitles into the video so they can never go out of sync again.
Your files never leave your device
Processed locally in your browser — nothing is uploaded. You can verify it yourself: open your browser’s developer tools, watch the Network tab, and use the tool — no upload request is ever made.
- No file is ever uploaded to a server
- Works offline after the first visit
- No account, no watermark, no limits
A little more clarity
Frequently asked questions
01My subtitles are a few seconds ahead — which way do I shift?
Ahead means they appear too early, so delay them with a positive shift. Enter the number of seconds they are early as a positive value.
02Can I shift by a fraction of a second?
Yes. Enter decimals such as 1.5 or 0.25. The offset is applied in milliseconds internally, so sub-second corrections are exact.
03Why are my subtitles still drifting after I shifted them?
Shifting fixes a constant offset only. Progressive drift is a frame-rate mismatch and needs rescaling from two anchor points, not a single shift.
04Does shifting change the subtitle format?
No. The file is exported in the same format it came in — only the timestamps move. Styling and structure are preserved.
05What happens to cues near the start if I shift backwards?
A cue that ends before 00:00:00 after the shift is removed — it could never be on screen, and squashing it into a zero-length cue at 0 would only leave junk. The tool tells you how many were dropped. A cue that straddles zero keeps its remaining tail and starts at 00:00:00.
06Can I shift multiple files by the same amount?
Yes. Apply the same offset to each file you load. Because it is all local, there is no limit on how many you process.
Guides
Further reading
- Guide5 min readHow to fix out-of-sync subtitles (the complete guide)Out-of-sync captions come in two flavours, and each has its own fix. Diagnose which one you have — a constant offset or a growing drift — and the correction is straightforward.Read the guide
- Guide6 min readSubtitle timing rules the pros follow (CPS, duration, gaps)Professional subtitles obey a handful of numbers — reading speed, minimum and maximum duration, line length, and the gap between cues. Learn them once and every file you make reads cleanly.Read the guide
Keep going
Related subtitle tools
More tools, same promise.
123 tools for images, video, audio and subtitles — every one of them runs on your device, and a result can go straight into the next.
- Free forever
- No sign-up
- Nothing uploaded