SRT validator
Paste or load an SRT and get an instant report: structural errors, overlaps, out-of-order cues, and per-cue reading speed against the 17 chars/sec and 42-characters-per-line comfort limits. Runs entirely in your browser.
The report appears here: structural errors, overlaps, reading speed (chars/sec), and line-length checks against the common 17 cps / 42-character limits.
What the checks mean
Errors are things that break parsers: malformed timing lines, end-before-start, cues out of order. Warnings are things that break viewers: overlapping cues, sub-second flashes, three-line walls of text, and reading speeds past ~17 characters per second — the point where average viewers stop finishing the line. AI transcription output (Whisper and friends) is the most common source of over-speed cues, because segmenters optimize for accuracy, not readability.
The thresholds follow the conventions most streaming and broadcast style guides share: two lines, ~42 characters each, 17 cps for adult programming. Individual specs vary — treat warnings as review flags, not failures.
FAQ
Why is my SRT file not working?
The usual culprits, in order: dots instead of commas in timestamps (VTT style — strict players reject it), a missing blank line between cues, end times before start times, or an encoding problem. Paste the file here and the validator names the exact cue and problem.
What is CPS (characters per second) in subtitling?
Reading speed: the cue's character count divided by its on-screen duration. Common guidelines cap adult programming at ~17 cps — faster than that and viewers can't finish reading before the cue leaves. The validator flags every cue over the limit.
What are the standard subtitle line-length limits?
Around 42 characters per line and at most two lines per cue — the widely used broadcast/streaming convention. The validator counts violations of both.
Can overlapping subtitles break playback?
Overlaps are legal in some players and break others — YouTube tolerates them, many hardware players and NLE imports do not. The validator reports every overlap with its size in milliseconds so you can decide.
Does the validator fix the file too?
It diagnoses; fixes stay in your hands by design — auto-'fixing' timing is how subtitles get silently mangled. For a constant sync offset, the SRT shifter fixes that one safely. For structural rebuilds, convert to CSV, edit in a spreadsheet, and convert back.
Is my file uploaded anywhere?
No — validation runs entirely in your browser. Nothing is sent to a server.
Related tools & converters
- SRT shifterFix a constant sync offset the validator surfaced.
- SRT to CSVEdit problem cues in a spreadsheet, then convert back.
- CSV to SRTRebuild a clean SRT from corrected rows.
- SRT to VTTConvert a validated file for web players.
- Convert SRT to WordSend clean subtitles out for translation or review.
- Whisper JSON to SRTWhere fast, unreadable AI cues usually come from.