Subtitle Checker
Checks SRT and VTT files for timing errors, overlaps, and reading speed. Runs in your browser.
How it works
Drop an .srt or .vtt file and every cue is parsed and tested against nine rules. Findings come back in one table with the line number, the cue number, the rule that fired and what was actually wrong, sorted the way the file reads. Errors are things that will break a player; warnings are things a subtitler would want to look at.
What it checks
Syntax and timecode parsing, end times that are not after their start, cues shorter than 833 ms or longer than 7 seconds, overlaps with the previous cue, cues that start before the one before them, reading speed above 21 characters per second, more than two lines of text, empty cues, and sequence numbers that do not match their position. The duration and speed limits follow Netflix’s published timed-text guidelines.
Fixing what it finds
Two of the nine rules can be repaired without judgement: overlaps, by pulling the earlier cue’s end back, and broken numbering, by renumbering on write. The download button says how many fixes it will apply before you press it. Everything else — a line that is too fast to read, a cue with no text — is a writing decision the tool leaves to you.
Why it runs in your browser
The parser is plain TypeScript running in this tab, so an unreleased episode, a client’s rough cut or a translation still under NDA never leaves your machine. There is no upload, no account and no file retention, and the check finishes as fast as your machine can read the file.