Check a Subtitle File Before It Goes Out
Paste the contents of an .srt or .vtt file, or drop the file in, and every cue gets parsed and measured. You get a score and a list of what is actually wrong: timings that are invalid or overlap, cues that flash past too quickly, captions that sit on screen too long, lines too long to fit, and text running faster than anyone can read it.
Each problem comes back with the timecode it belongs to, so you fix cue 47 rather than scrolling a file looking for it.
It runs in the browser. The file is parsed and measured on your device, which matters when the subtitles belong to an unreleased episode or a client’s video.
Timing problems
Cues with no duration, and cues that overlap the one before them.
Reading speed
Characters per second on every cue, the check almost nobody runs.
Time on screen
Captions that flash past too fast or sit there too long.
Line length and count
Lines that wrap badly or cover too much of the picture.
What a Report Looks Like
This is the shape of the result. The file and its cues are made up for this example.
episode-12-en.srt: 18 cues, 2 problems, 3 worth a look
Overlapping cues at 00:00:41
This cue starts at 00:00:41, before the previous one ends at 00:00:42. Overlapping cues stack or flicker depending on the player.
Reading speed too fast at 00:01:07
This cue runs at 26.4 characters per second. Above roughly 17 the text is gone before a viewer finishes it.
Line too long at 00:01:30
One line is 51 characters. Past about 42 the line wraps unpredictably or runs off a narrow screen.
On screen too long at 00:02:02
On screen for 8.4 seconds. Past about 7 seconds a static caption reads as a stuck subtitle.
Duplicate of the previous cue at 00:02:15
The text is identical to the cue before it, which usually means a line was pasted twice.
Every Other Subtitle Tool Makes Captions, This One Checks Them
Generating subtitles is a solved problem. Half a dozen tools will transcribe a video and hand you an SRT, and most of them do it well enough.
What almost nothing does is tell you whether the file you ended up with is any good. So subtitles ship with cue 12 overlapping cue 13, a line of 78 characters that wraps into three on a phone, and a caption carrying 40 characters across half a second. None of that is visible in a text editor. All of it is obvious to a viewer within about ten seconds.
The checks here are arithmetic on timestamps and character counts. That is the point: these are the subtitle problems you can prove rather than argue about.
What It Measures
Invalid timings
A cue whose end time is at or before its start has no duration. Most players skip it silently, so the line never appears.
Overlapping cues
One cue still on screen as the next begins. Players stack, flicker or drop one. The most common fault in hand-edited files.
Time on screen
Too short reads as a flash, not a line. Too long looks stuck, and the viewer stops trusting the sync.
Reading speed
Characters divided by seconds on screen. Covered properly below, because almost nobody measures it.
Line length and line count
A long line wraps somewhere unhelpful. Three or more lines cover too much of the picture.
Empty and duplicate cues
An empty cue reserves screen time for nothing. An identical repeat is almost always a double paste.
These are the exact limits it uses.
| Check | Warning | Problem |
|---|---|---|
| Timing | None | End time at or before the start, or a cue that starts before the previous one ends |
| Time on screen | Under 0.83 seconds or over 7 seconds | None |
| Reading speed | Over 17 characters per second | Over 21 characters per second |
| Line length | Any line over 42 characters | None |
| Line count | More than 2 lines | None |
| Empty and duplicate cues | A cue identical to the one before | A cue with timings but no text |
Sources, checked 2026-10-12: Subtitle Quality Checker settings
The score starts at 100, minus 120 points for every problem and 45 for every warning, each divided by the number of cues.
Reading Speed Is the Check Nobody Runs
Characters per second is the number that separates subtitles that feel comfortable from subtitles that feel like homework, and almost nobody measures it.
The arithmetic is simple. Take the characters in the cue, divide by how long it is on screen. A cue with 60 characters showing for 2 seconds runs at 30 characters per second. A viewer has to read that, watch the picture, and listen, all at once. They will not finish.
The convention most style guides land near is about 17 characters per second for general audiences, and this flags anything above that. Past 21 it is marked as a real problem rather than something to look at, because at that speed the text is gone before an average reader reaches the end.
What makes it worth checking is that high reading speed is invisible in every other way. The file is valid. The timings are in order. Nothing is malformed. The subtitles are simply moving too fast, and the only way to know is to do the division on every cue.
Where This Sits in Accessibility Compliance
Worth separating two things that get run together, because the gap between them is where most captioning fails.
Accessibility standards decide whether captions have to exist. WCAG asks for captions on prerecorded video as a Level A item and on live audio at AA, and Section 508 points at WCAG for the same thing. What those standards require is that captions are present, accurate and synchronized with the audio.
What they do not do is set a reading speed or a line length. There is no WCAG number for characters per second, and anyone quoting one is quoting a style guide. The thresholds used here come from broadcast and streaming practice, which is where the usable limits were worked out, and that is a different kind of authority from a conformance standard.
The practical consequence is the part worth knowing. A compliance checklist asks whether the file has captions, and a file full of overlapping cues running at thirty characters per second answers yes. It is present, it is arguably synchronized, and it is unreadable for the person it exists to serve. Captions that nobody can keep up with satisfy the audit and fail the user.
Whether captions must exist
WCAG and Section 508 ask that captions are present, accurate and synchronized. They set no reading speed or line length.
Whether people can read them
Measures timing, overlaps, reading speed and line length, the readability half that a compliance checklist never asks about.
So this covers the measurable half of caption quality rather than conformance. It will tell you the timings are valid, the cues do not collide, and the text is readable at the speed it appears. Whether the wording is accurate against the audio, which is the part the standards care about most, is a different check: the word error rate calculator measures a transcript against what was actually said.
What a Perfect Score Does Not Mean
It means the file is structurally sound and within the usual limits. It does not mean the subtitles are correct.
This cannot tell you whether the words match the audio. A subtitle file can pass every check here while being transcribed wrongly, or shifted two seconds off the dialogue, because the tool never sees or hears the video. Sync against the actual audio is a different job.
It does not check spelling, and that is deliberate rather than an omission. Spell checking needs a dictionary for the right language, and subtitles are full of names, places, product terms, and deliberate informality that a naive checker would flag by the hundred. A list of 200 false positives is worse than no list, so it does not pretend.
It also does not know your house style. Broadcasters, streamers, and accessibility standards all differ on line length and reading speed, and some languages need different limits entirely. The thresholds here are the common conventions, not rules handed down from anywhere. Treat a warning as a prompt to look, and a failure as something to fix.
Good at
- Finding invalid and overlapping timings with their timecodes
- Measuring reading speed on every cue
- Flagging long lines, crowded cues, empty and duplicate cues
- Checking SRT and VTT files without uploading them
Not built for
- Accuracy: it never hears the audio, so it cannot tell if the words are right
- Sync: a file shifted two seconds off the dialogue still passes
- Spelling: left out on purpose, to avoid hundreds of false alarms
- Fixing: it reports the cue, you make the edit
SRT, VTT, and What It Ignores
Both formats work, and you can paste the text instead of uploading if that is easier. SRT sequence numbers and the WEBVTT header are recognized and skipped rather than counted as content.
Timestamps parse in either dialect, so the comma in 00:00:04,120 and the dot in 00:00:04.120 are both fine, including VTT’s shorter MM:SS.mmm form. VTT cue settings trailing the end time, things like align:start or position:10%, are read and ignored rather than treated as text.
Formatting tags are stripped before anything is counted. That matters more than it sounds: a line wrapped in italic tags is not actually longer for a viewer, and counting the markup would flag lines that are perfectly fine.
If You Need to Make or Fix Subtitles Instead
This checks a file you already have. These tools cover the steps around it.
Make subtitles
The subtitle generator produces timed captions from a recording.
Closed captions
The closed caption generator covers the accessibility side.
Text to SRT
The text to SRT converter turns a transcript into a subtitle file.
Burn them in
Use add subtitles to video to put the result into the picture.
Find a line
The transcript search searches cues and keeps the timecodes.
Check a translation
The translation checker compares a translation against its source.