Subtitle Overlap Fixer

Finds overlapping cues in SRT and VTT files and fixes them the way you choose. Runs in your browser.

How it works

Drop an .srt or .vtt file and every place where one cue starts before the previous one ends is listed, with the pair of cue numbers and the overlap in milliseconds. Pick a fix mode, look at what it would do, and download the corrected file. If nothing overlaps, it says so and stops rather than rewriting a healthy file.

Three ways to fix

Trim previous pulls the earlier cue’s end back to where the next one starts — safest when the earlier line has already been on screen long enough. Push next moves the later cue’s start forward instead, which keeps the earlier line’s full duration. Midpoint splits the difference evenly, floored to the millisecond, when neither line should give way.

Chains and contained cues

Fixes cascade: correcting one pair can expose the next, so the whole file is resolved in a single pass rather than leaving you to run it repeatedly. A cue fully contained inside another is the awkward case — push next clamps it and leaves a residual overlap rather than inventing a duration, and the result is reported honestly instead of being quietly hidden.

Why it runs in your browser

Overlaps are usually the fingerprint of automatic transcription, and automatic transcripts are usually of something not yet public — an interview, a lecture recording, a cut in review. The parser and the fixer are TypeScript running in this tab, so the file is never uploaded and the output is written straight back to your downloads folder.