Subtitle Timing Shifter

Shift a whole subtitle track earlier or later, or rescale it when it was timed against a different frame rate and drifts further out as the film goes on.

Processed on your device — no upload

termiva subs shift film --by -2.5s
0 chars
What is wrong
Shift by (seconds)
0 chars
cues nothing uploaded

How to use it

  1. Paste the subtitles, or choose a file.
  2. Say whether they are constantly out or drifting.
  3. Set the amount, then download the retimed file.

How it works

There are two different faults here and only one of them is a delay. Work out which you have before you touch anything: check the sync at the start of the film and again near the end. If the gap is the same at both, it is an offset. If it has grown, it is drift, and no amount of shifting will fix it.

The distinction matters because a player’s own subtitle delay setting only handles the first. Nudging it is a per-device fix that has to be repeated everywhere and lasts until the file is opened somewhere else; changing the timestamps is a resync of the file itself, and it travels with it.

A constant offset comes from a different cut — a distributor’s logo, a longer title sequence, an advert break edited out. Every cue is wrong by the same amount, so every cue moves by the same amount.

Drift is a frame-rate problem. Subtitles authored against a 25 fps broadcast master, played against a 23.976 fps film transfer, are right at the start and minutes out by the end. The two are not different by a constant but by a ratio, so every timestamp has to be multiplied rather than added to. 25 to 23.976 is the common pair, and it makes the subtitles run about four percent slower.

Negative times are clamped and counted, not hidden. If a shift pushes cues before the start of the file, that usually means the sign is the wrong way round — you asked for earlier when you wanted later. The status line says how many were clamped so the mistake surfaces here rather than in front of an audience.

The file is written back in the format it arrived in, with one exception: an .ass or .sbv file comes back as SubRip, because neither can be written from a start, an end and some text without inventing the rest of it. The status line says so when it happens. If you want a different format on purpose, convert it as a separate step.

A worked example

Press Load a sample. Three cues: one at two seconds, one at ten minutes, one at an hour and a half.

Leave the mode on constantly early or late and the amount at -2.5. Every cue moves back two and a half seconds — the first to 00:00:00,000, and the status line reports one cue clamped at zero, because two seconds minus two and a half is below the start of the file.

Now switch to drifts further out, with 25 as the timing and 23.976 as the video. The first cue barely moves — from two seconds to about 2.085. The last one moves by more than three and a half minutes. That difference is the whole point: a fault that is invisible in the opening scene and unwatchable in the closing one.

Which is also the diagnostic. If your subtitles look fine for the first ten minutes and hopeless at the end, do not reach for the offset — no single number fixes it.

Questions

Is my subtitle file uploaded?

No. The retiming happens in your browser, and the file never leaves your device.

How do I tell an offset from drift?

Check the sync at the beginning of the film and again at the end. Same error at both means an offset. A bigger error at the end means drift, and shifting cannot fix it.

Which way is positive?

Positive moves the subtitles later, for when they appear before the line is spoken. Negative moves them earlier, for when they lag behind it.

What are 23.976 and 29.97 about?

They are film and video rates for NTSC territories, slowed by a factor of 1000/1001 for historical reasons. Material mastered at 24 or 30 and transferred to them runs fractionally slow, and subtitles timed to the original drift against it.

What happens if a cue would start before zero?

It is clamped to the start of the file and counted in the status line. A shift large enough to do that usually means the sign is reversed.

Does it change the subtitle format?

A file that arrives as SubRip leaves as SubRip, and WebVTT stays WebVTT. ASS and SBV are the exception and come back as SubRip, because neither can be written back from a start, an end and some text without inventing a script header nobody wrote.

Can it fix subtitles that are out by different amounts in different scenes?

No, and nor can any single-number tool. That means the video has been re-edited rather than re-timed, and the cues have to be moved in blocks by hand.

Is the millisecond precision preserved?

Yes. Shifts are applied in milliseconds and rescaling rounds to the nearest one, so the output is as precise as the input was.

Is Subtitle Timing Shifter free to use online?

Yes — free, with no account, no daily limit and no watermark. It runs online in your browser, and because the work happens on your own device it keeps working offline once the page has loaded.

Reading