Shift SRT Subtitles
Move every timestamp in an .srt file forward or back, down to a tenth of a second
Your files stay with you. Conversion happens inside the browser; no file is ever uploaded to a server.
Did this tool do the job?
Thanks, your feedback came through.
How it works
Choose the subtitle file, set the direction and amount, then press Shift. Example: if a line of dialogue is spoken and its text appears 2 seconds later, the subtitles are lagging — pick Move back, enter 2, and every timestamp moves 2 seconds earlier. The amount can be fractional: a 0.5 or 1.5 second nudge fixes most drift-free offsets. The tool only rewrites the time lines; the text itself, line breaks and formatting tags such as italics are left untouched, and cues are renumbered from 1. When moving back, a cue whose start would fall before 00:00 is clamped to zero, and a cue that would end before 00:00 is removed — the result line reports how many cues were affected. Output is always UTF-8, so subtitles that showed garbled characters because of a legacy encoding come out fixed as well.
This tool is also known as shift srt subtitles, srt time shift, resync srt subtitles, subtitle delay fix, srt shifter, subtitles out of sync.
What is SRT (SubRip)?
The most widely supported subtitle format, and it is plain text: each block holds a sequence number, a time range such as 00:01:02,500 --> 00:01:05,000 and the subtitle text, with blocks separated by blank lines. The millisecond separator is a comma. Practically every player, TV and video editor reads it, which is why downloaded subtitles almost always come as .srt.
What is Sync offset?
The mismatch between the audio timeline and the subtitle timeline: text appears before the words are spoken or lingers after them. Common causes are subtitles made for a different cut of the video, an intro or ad block that was trimmed away, and frame-rate differences. When the offset is constant, moving every timestamp by the same amount fixes it.
Constant offset vs. growing drift: when shifting is not enough
This tool moves every timestamp by the same amount, which is the cure for a constant offset. A constant offset usually means the subtitles were made for a slightly different cut of the video: a logo, recap or ad block was added or removed at the start, pushing every line by the same few seconds.
If the subtitles start out correct and slowly fall behind (or run ahead) towards the end, the offset is not constant — it grows. The classic cause is a frame-rate mismatch: subtitles timed for 25 fps drift further apart every minute on a 23.976 fps video. A single shift then fixes only one point in the film; the whole timeline would need proportional stretching, which is outside this tool's scope. For an offset that stays the same from the first scene to the last, you are in the right place.
How to find the direction and the amount
The most reliable method is to measure the first clearly audible line: note when the sentence starts in the audio and when the same sentence appears in the subtitles; the difference is your shift amount. If the text lags behind the speech, move back; if it appears before the speech, move forward.
- You can find the right value by trial with your player's temporary delay setting, then apply it here — the difference is that this writes the fix into the file permanently
- Not sure? Try steps of 0.5 seconds; most offsets fall between 0.5 and 3 seconds
- Episodes of the same release usually share the same offset: add them all and shift them in one go
- After shifting, check both the first and the last scene; if the end drifts, the offset is not constant
Frequently asked questions
Text first or speech first — which direction do I pick?
Judge by the audio: if the words are spoken and the text shows up late, subtitles are lagging — pick Move back. If the text flashes up before anyone speaks, pick Move forward. The result line tells you how many cues moved and by how much; if you picked the wrong direction, run the same amount the other way.
Does the tool change the subtitle text?
No. Only the time lines are recalculated; the text, line breaks and formatting tags such as <i> stay exactly as they were. The only other change is the numbering: cues are renumbered from 1.
Can it shift .ass, .sub or .vtt files?
No — it handles SubRip (.srt) only; other formats use different time notation and structure. If no SRT time line is found in the file, the tool says so with a clear error instead of silently producing a broken file.
My subtitles showed question marks instead of accented letters — will the output fix that?
Usually, yes. Older subtitle files were often saved in Windows-1252; when the file does not decode as UTF-8, the tool assumes that legacy encoding and writes the output as UTF-8, which every player understands. The result line tells you when an encoding was assumed.