Subtitle Timing

How to Fix Overlapping Subtitle Timestamps

Detect intentional and accidental subtitle overlaps, then repair them without creating unreadable or mistimed cues.

An overlap occurs when one cue ends after the next cue starts. Some overlaps are intentional—two speakers, lyrics, or positioned captions—but most single-track SRT overlaps are export mistakes. A batch rule that shortens every earlier cue can erase readable display time, so classify before repairing.

Detect the exact collision

55
00:04:10,000 --> 00:04:13,400
The upload completes in the background.

56
00:04:13,050 --> 00:04:16,000
You can keep editing while it runs.

Cue 55 overlaps cue 56 by 350 ms. If the first speaker finishes before 13.050, shorten cue 55. If speech genuinely overlaps, decide whether the delivery format supports simultaneous positioned cues or whether the dialogue should be combined.

Repair choices

Shorten the first cue. Use when its speech and readable text complete early enough. Leave a small gap required by the delivery specification.

Delay the next cue. Use when the second caption appears early and the spoken line begins later. Do not delay it merely to satisfy a validator if the audio already started.

Merge and resegment. Use when adjacent cues form one sentence and both have enough combined time. Rewrap text and verify reading speed.

Keep intentional overlap. Use only when the player and style guide support two concurrent cues. WebVTT positioning can help; plain SRT support varies between players.

Example repair

55
00:04:10,000 --> 00:04:12,950
The upload completes in the background.

56
00:04:13,050 --> 00:04:16,000
You can keep editing while it runs.

The repair creates a 100 ms gap. That number is not universal—follow the platform or client specification and test perceptual continuity.

Batch repair risks

“Set every end to next start minus one frame” removes overlaps but may reduce a long cue to a fraction of a second. Before applying it, calculate new duration and reading speed. Flag any cue below the minimum duration or above the reading-speed threshold for manual review.

Frame-based gaps require the actual frame rate. One frame is about 41.7 ms at 24 fps, 40 ms at 25 fps, and 33.4 ms at 29.97 fps. Do not hardcode 40 ms without knowing the delivery frame rate.

Why overlaps appear

  • Auto-caption rolling windows emit partially concurrent cues.
  • Merging files preserves timelines from two different cuts.
  • Translation resegmentation changes boundaries.
  • A global offset moves only part of a track.
  • Rounding timestamps during format conversion collapses a small gap.

Trace the source so the same bug is not repeated on the next export. Fix subtitle timing and synchronization covers global offset and drift; merge subtitle files covers boundary collisions between files.

Final validation

Sort cues by start time, report overlaps and zero/negative durations, then watch each repaired region. Also inspect two cues before and after it—an edit can transfer the collision downstream. Finish with the subtitle quality checklist and retain the original file plus a repair log.