The small faults that break SRT files
SRT is forgiving to read and unforgiving to play. A single missing blank line, a comma written as a period, a cue numbered out of order, or an end time before its start — any of these can make a player silently refuse the file. This tool parses defensively, reports every problem it finds, repairs the fixable ones, and hands back a clean file with a list of exactly what changed.
What it detects and repairs
- Numbering — out-of-order, duplicate or missing cue numbers → renumbered 1…n.
- Overlaps — a cue running past the next one’s start → end time trimmed to the next start.
- Bad durations — zero-length or end-before-start → given a short, capped positive length.
- Timestamps —
.vs,separators, odd spacing, hours over 99 → normalised. - Structure — missing blank lines, BOM, CRLF/CR endings → repaired to clean SRT.
- Tags — an unclosed
<i>or orphan</b>→ balanced. - Empty cues — removed.
Reading speed is flagged, not changed
Lines that flash by too fast to read — above roughly 20 characters per second, the widely used Netflix-style limit — are reported separately. The tool will not shorten your text or stretch your timing on its own; that’s an editorial call. Open the flagged cues in the editor to fix them deliberately.
before after
3 3
00:00:05.000 --> 00:00:04,000 00:00:05,000 --> 00:00:06,000
<i>unclosed italic <i>unclosed italic</i> Limits
The tool repairs structure and timing sanity, not meaning — it can’t know the correct time for a cue, only that an impossible one needs fixing. For sync problems use the shifter; for garbled characters, the encoding fixer. Everything runs locally, no upload.