Subtitle checker & validator
Check an SRT, WebVTT or ASS file for the problems that make subtitles hard to watch — overlaps, flicker, lines too long or too fast to read, empty and duplicate subtitles, broken tags — then fix them all in one click.
- 18 checks for timing, readability & formatting
- Fix all issues & download
- Checked in your browser — never uploaded
Your file is checked by your browser and stays on your device.
Rules — change any number and the file is checked again
18 checks, the same every time
No AI and no guesswork: each check is a fixed rule, so the same file always gets the same result. Everything that can be fixed safely is fixed in one pass.
Timing
- Invalid timestamps
- A subtitle that ends at or before it starts never appears. Fixed by giving it enough time to be read, up to the next subtitle.
- Unreadable timestamp lines
- A line with --> that isn't a valid timestamp; players skip that subtitle entirely.
- Out of order
- A subtitle that starts before the one above it. Many players stop showing subtitles at that point. Fixed by sorting.
- Overlaps
- Two subtitles on screen at once get stacked or one is dropped. Fixed by ending the first one just before the next.
- Short gaps
- A gap of a few frames between subtitles reads as flicker. Fixed by widening it to the minimum, or closing it.
- Too short or too long
- Under 5/6 of a second is hard to read; over 7 seconds lingers past the speech.
Readability
- Characters per line
- Long lines are hard to read and get cut off on small screens. Fixed by re-wrapping into balanced lines.
- Number of lines
- More than two lines covers too much of the picture.
- Characters per second
- Text that flashes by faster than it can be read. Fixed by extending the subtitle into free time after it.
Formatting & file
- Empty and duplicate subtitles
- Blank entries, and the same line shown twice in a row.
- Malformed markup
- An <i> that's never closed turns the rest of the film italic in some players.
- Encoding
- Files not saved as UTF-8, and text garbled by a wrong conversion (é for é).
- Numbering and headers
- SubRip numbers out of sequence, and WebVTT files missing their WEBVTT header.
Why 42 characters and 20 per second?
Streaming services publish subtitle style guides, and their timing rules agree closely. For adult programmes: no more than 42 characters per line and two lines, a reading speed of at most 20 characters per second, and each subtitle on screen for between 5/6 of a second and 7 seconds. Children's programmes slow the reading speed to 17 characters a second.
Characters per second counts what's read — letters, spaces and punctuation, not formatting tags — over the time the subtitle is on screen. A two-line, 70-character subtitle needs 3.5 seconds at 20 cps.
Gaps matter too: when one subtitle ends a few frames before the next begins, the screen blinks between them. Either close the gap entirely or leave at least two frames (about 80–100 ms) between subtitles. These rules make sense for most viewing, but they're guidelines, not law — use the Relaxed preset or set your own numbers for fast dialogue, lyrics or language learning.
Fix what the checker can't
Subtitle Editor
Rewrite a line that's too long, re-time a fast one, or fix a lost character — line by line, in your browser.
Shift Timing
Every subtitle early or late by the same amount? Move the whole file in one go.
Cleanup
Strip SDH sound descriptions, credits, ads and speaker labels in one pass.
All free tools
Recolour, reposition, shift a section, and convert between subtitle formats.
The AI Subtitle Studio desktop app has this same Tools section built in — plus AI transcription, translation and batch processing for a whole season at once, all running locally on your Mac or PC.