Free tool

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.

What gets checked

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.
The numbers behind the rules

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.

FAQ

Questions about the subtitle checker

What does the subtitle checker look for?
Timing (invalid or unreadable timestamps, subtitles out of order, overlaps, gaps too short to notice, lines on screen too briefly or too long), readability (characters per line, number of lines, characters per second), formatting (empty and duplicate subtitles, unclosed or stray tags, stray spaces) and the file itself (encoding, garbled characters, SubRip numbering, the WebVTT header).
Is my file uploaded?
No. The file is read and checked by your browser and never leaves your device. We only record that a file was checked — its name, size, format and how many issues were found — to see how the tool is used.
What does "Fix issues & download" change?
Only what the ticked checks found, and only in ways that can be done without guessing: empty subtitles are removed, repeated lines merged, tags closed, extra spaces trimmed, long lines re-wrapped, and end times moved so lines don't overlap, flicker, or vanish before they can be read. Start times and wording are never changed. Untick any check to leave that issue alone.
Why are some issues marked "Needs a person"?
Some problems have no safe automatic answer. A timestamp line that can't be read, or a � where letters were lost, needs someone to look at it. The same goes for a subtitle with too much text to fit in two lines, or one too fast to read with no free time after it to extend into. Open the file in the editor to fix those by hand — it marks the same overlaps and fast lines as you go.
Which rules are the checks based on?
The Standard preset follows the common streaming guideline for adult programmes: at most 42 characters a line and two lines, at most 20 characters a second, and between 5/6 of a second and 7 seconds on screen. The Children's preset lowers the reading speed to 17 characters a second, and you can set every number yourself.
Does fixing an ASS file keep its styles?
Yes. ASS and SSA files are edited in place: the script info, styles, signs, karaoke and every line a fix didn't touch are written back exactly as they were. ASS events don't need to be in time order, so that check is skipped for them.
Can I get the results as a report?
Yes — "Download report" saves a plain-text summary listing every issue with its subtitle number, timestamp and text, handy for sending to a translator or a client.