Shift by an offset
Move every cue earlier or later. -1.5s, +800ms, -00:00:02,250 — whatever reads clearest.
srtshift nudges every cue in a subtitle file by the offset you give it, so the lines land when the words are spoken. One command, no re-encoding, no editor.
Move every cue earlier or later. -1.5s, +800ms, -00:00:02,250 — whatever reads clearest.
A 25 fps track on 23.976 fps video drifts further apart as it plays. Rescale it with --fps-from / --fps-to.
Only the back half is off after an ad break? Limit the shift to a span with --range and leave the rest untouched.
Styling, positioning and ASS tags are preserved. Only the timestamps change.
Overwrite with -i, or write a new file with -o out.srt and keep the original.
Windows-1251, UTF-8, UTF-16 — detected on read and written back as UTF-8 unless you say otherwise.
A single static binary, no runtime. Prebuilt for Linux, macOS and Windows.
# Linux / macOS curl -sSL https://srtshift.org/get.sh | sh # or with Go go install srtshift.org/cmd/srtshift@latest
Then try it on a file you already have:
srtshift -2s -o fixed.srt episode.srt
Full options and examples live in the documentation.