Subtitle Timeline Off? Shift or Scale First

You export the subtitles and the text trails the picture by seconds — or the first half matches while the second half drifts further and further apart. These two kinds of "off" have entirely different causes; fixing one with the other's method usually makes things worse. Classify first, then act.

Two kinds of timeline correction
A shift adds or subtracts the same duration across the board, with identical offset on every cue; a scale stretches or compresses proportionally, with different offsets at head and tail

Classify first: shift or scale?

A shift means every cue is off by the same amount — say, 2 seconds fast throughout, identical at head and tail. Common cause: video and subtitles came from sources with different durations or frame rates, or the export shifted wholesale.

A scale means the offset grows with position — the start matches, and the further in, the worse. Common cause: the two sides' total durations disagree. Subtitles were made for 10 minutes; the video actually runs 10:20; stretched proportionally, the tail skews.

A quick test: look at the first and last cues. Same offset at both ends → shift. The tail's offset larger than the head's → scale.

Many creators catch this only in the pre-delivery preview — the picture has moved to the next line while the subtitle still shows the previous one. This "lagging beat" is almost always scale-type drift, and it's stealthier than a uniform offset: the beginning looks right, so the whole file seems fine.

Shift: add or subtract one duration across the board

The fix for a shift is adding or subtracting one offset from every timecode. Take SmileSub's timeline shift tool — no login: upload the SRT, set the offset (say −2.0 s), wait for processing, download the corrected file.

The tool keeps cue count and order untouched and only adjusts timecodes. Free tier: 1MB and 500 cues per file, 3 uses per tool per IP per day.

Mind the sign: if subtitles run early, pull them back with a negative value; if late, push them forward with a positive. Don't flip it.

# before
00:00:05,000 --> 00:00:07,000
# after a uniform -2.0 s
00:00:03,000 --> 00:00:05,000

Scale: stretch or compress proportionally

A scale can't be fixed with one offset; every timecode must be recomputed by ratio. Common approaches: use the time-scale function in the timeline tool and enter source and target durations; or confirm the audio/video sources match, then realign from scratch.

Scaling carries more risk than shifting: a wrong ratio wrecks the whole axis. Reverse-derive the ratio from the first and last cues before touching everything.

In practice the ratio is usually target total duration ÷ source total duration. Subtitles built for 600 s with a video actually 615 s → ratio 1.025; multiply every timecode by it. When the ratio is near 1 the impact is tiny; the larger the gap, the more you must verify the head/tail alignment points. If the ratio comes out wrong, redo it — don't fudge.

If the subtitles came from speech recognition, a source-duration mismatch also shows up as scale-type drift — in that case, go back and re-verify the source with the audio-to-subtitle approach.

When only a few cues are off

Mostly aligned, three or five cues jumping — usually adjacent-cue overlaps or typos in the timecodes. Wholesale shift or scale is the wrong tool here; per-cue nudging is safer: sweep the file with the subtitle checker for overlaps and violations, locate the specific cues, and fix only those timecodes.

The virtue of per-cue fixes: nothing else gets touched. Always back up the original file before any batch operation.

For misalignment caused by mismatched audio/video sources, see also the source-consistency items in the video localization checklist.

Which fix for which drift

Symptom Type Fix
Same offset throughout Shift Add or subtract one offset
Worse toward the end Scale Recompute by ratio
Only a few cues Individual errors Per-cue adjustments

One line: diagnose, then measure. Classify wrong and everything after is wasted work.

FAQ

How do I quickly tell shift from scale?

Compare the timecode deltas of the first and last cues. Identical deltas → shift. The tail's delta clearly larger than the head's → scale. Sampling one or two cues in the middle confirms further.

Does the correction tool change the text?

No. Timeline correction touches timecodes only; the text stays byte-identical. What you see and the cue order never change — only each cue's start and end moments.

Why are a few cues still off after correction?

If the whole file is aligned but a few cues still jump, those are item-level errors (typos, overlaps) — locate them with the checker and fix per cue, not with another wholesale shift.