Subtitle shifter
Captions out of sync? Adjust the subtitle timing by shifting every SRT or VTT timestamp any number of seconds — or resync a drifting file by rescaling the framerate. In your browser; nothing is uploaded.
Getting captions back in sync
Two things knock subtitles out of sync. A constant offset — the whole file is a second or two early or late — is fixed by shifting every timestamp by the same amount. A drift that grows toward the end usually means a framerate mismatch: subtitles cut for 23.976 fps film played back at 25 fps, or vice versa. Set the original and target framerate and each timestamp is rescaled so the last line lands as accurately as the first.
Starting from scratch? Every Speecho transcription comes with ready-made .srt and .vtt files synced to your audio — add captions to a video or just transcribe a file. Need a different format afterward? Use the subtitle converter.
Subtitle shifter — FAQ
How do I fix subtitles that are out of sync?
Paste your .srt or .vtt, then enter how many seconds to shift. If the subtitles appear too early, use a positive offset to delay them; if they appear too late, use a negative offset to pull them earlier. Click Shift and download the result.
Can I resync subtitles online without installing anything?
Yes — that is what this page is. There is no app to install and no upload step: the shifter runs in your browser, adjusts the timing of every caption, and hands back the corrected file. It keeps working offline once the page has loaded.
What is the framerate conversion for?
Subtitles timed for one framerate (e.g. 23.976 fps film) drift steadily when played at another (e.g. 25 fps PAL) — fine at the start, seconds off by the end. Set the original and target framerate and the tool rescales every timestamp so they stay in sync throughout.
Is my subtitle file uploaded anywhere?
No. This runs entirely in your browser — your file never leaves your device and nothing is sent to a server. It works offline once the page has loaded.
Does it keep my format (SRT or VTT)?
Yes. The output is the same format you paste in, with only the timestamps changed — the caption text and numbering are untouched.