Free tool · Subtitle sync fixer

Shift subtitle timing
in one click.

Captions arriving early or late? Shift every cue in your .srt or .vtt file by any offset — even fractions of a second.

Shift by
seconds
Output
Input · SRT or VTT
Shifted output
Negative values shift earlier, positive values shift later. All processing is local — your captions never leave the browser.
Tired of fixing timing by hand?
SoCaptions transcribes your video and times every word automatically.
Try it free
REC · 0:12
Transcribed
in 12 seconds

Add subtitles to your video for just $3/month.

100 minutes of AI transcription, viral caption styles, burned-in MP4 export. No watermark. Cancel any time.

5 minutes free · No credit card · Cancel any time

Frequently asked

How do I know which way to shift?+

Watch the video and pick a moment where someone speaks. If the captions appear too late, use a negative offset (e.g. -1.5 seconds). If they appear too early, use a positive one. Match the lag visually, then download.

What's the smallest shift I can apply?+

You can type any decimal — 0.05s (50 ms), 0.001s, anything. The output preserves millisecond precision in SRT and VTT.

Will negative shifts clip the start?+

Cues that would land before 00:00:00 are clamped to zero. If you have a long lead-in to remove, that's usually what you want.

Does it handle both .srt and .vtt input?+

Yes — paste or upload either. The parser auto-detects WebVTT (header / dot timestamps) vs SubRip (comma timestamps).

What if my drift increases over time?+

A constant offset only fixes constant lag. If subtitles drift further off as the video plays, you have a frame-rate mismatch (e.g. 23.976 vs 25 fps), which needs resampling — not a shift.