Skip to content
100% local

Subtitle overlap fixer

Find and repair overlapping, invalid or too-short timecodes in SRT and WebVTT subtitle files.

Input
Output

Subtitle overlap fixer

A subtitle file exported from an editor or auto-generated by a transcription tool often ends up with timing that technically parses but never plays cleanly: one cue's end time lands before its start, two cues overlap so a player has to guess which one to show, or a line flashes on screen for a fraction of a second because its neighbor left it almost no room. This tool scans every cue in an SRT or WebVTT file, in order, and flags exactly these four problems: an invalid end-before-start timecode, an overlap with the previous cue, a gap between cues that is narrower than you would like, and a cue duration shorter than what a viewer can actually read.

Choose how to react. Report only leaves the file untouched and lists every finding with its old and new timecode side by side. Trim earlier cue's end shortens the previous cue just enough to clear the next one — the usual choice, since it never moves a line's start time. Shift later cue's start pushes the next cue forward instead, keeping its duration intact. Minimum gap and minimum duration are configurable in milliseconds, defaulting to 80 ms and 700 ms — common subtitling guidelines, not arbitrary numbers.

Cue text and numbering are left exactly as they were; only the timecodes at fault move. The output format follows the input by default — comma decimals stay SRT, dot decimals and a WEBVTT header stay WebVTT — or force a conversion either way. CRLF and LF line endings are both accepted.

Everything runs locally in your browser. A subtitle file for an unreleased episode, a client's rough cut or your own recording is parsed, checked and repaired on your device — never uploaded anywhere.

FAQ

What exactly counts as an overlapping or invalid cue?
Four things: a cue whose end time is at or before its own start, a cue that starts before the previous one has finished, a gap between two cues narrower than the minimum you set, and a cue shown for less than the minimum duration.
What's the difference between the two fix modes?
"Trim earlier cue's end" shortens the cue that came first, so the following cue's start time is never touched. "Shift later cue's start" instead moves the next cue forward — both its start and end, so its length is unchanged. Report only makes no changes and just lists what it found.
Does it work with WebVTT as well as SRT?
Yes. It reads both comma-separated SRT timecodes and dot-separated WebVTT ones, including the WEBVTT header and NOTE/STYLE blocks, and can convert between the two formats on output.
Will it renumber my cues or change the text?
No. Cue numbers (or WebVTT identifiers) and the subtitle text itself are copied through exactly as they were — only the timecodes involved in a detected problem are adjusted.
Is my subtitle file uploaded anywhere?
No. The whole check and repair runs in your browser; the file never leaves your device.