Subtitle Quality Checker

Drop an SRT or VTT file and it checks every cue for invalid timings, overlaps, reading speed, line length, and duration, then points at the ones to fix. It parses the file in your browser, so nothing is uploaded.

Recordings are encrypted in transit and at rest and are not used to train AI models. Privacy · Security

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.

Score 79

episode-12-en.srt: 18 cues, 2 problems, 3 worth a look

Problem

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.

Problem

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.

Warning

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.

Warning

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.

Warning

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.

CheckWarningProblem
TimingNoneEnd time at or before the start, or a cue that starts before the previous one ends
Time on screenUnder 0.83 seconds or over 7 secondsNone
Reading speedOver 17 characters per secondOver 21 characters per second
Line lengthAny line over 42 charactersNone
Line countMore than 2 linesNone
Empty and duplicate cuesA cue identical to the one beforeA 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.

Standards

Whether captions must exist

WCAG and Section 508 ask that captions are present, accurate and synchronized. They set no reading speed or line length.

This checker

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.

FAQ

What does a subtitle checker actually check?

Structure and readability, not meaning. It parses every cue and measures timing validity, overlaps between neighboring cues, how long each cue is on screen, reading speed in characters per second, line length, line count, and empty or duplicated cues. Each finding comes with the timecode of the cue it belongs to.

What is a good characters per second for subtitles?

Around 17 characters per second is the figure most style guides settle near for general audiences, and it is the threshold used here. Comfortably under that reads easily. Above 21 the text is usually gone before a viewer finishes it. Children's programming and dense technical material both argue for slower.

Does it work as an SRT checker and a VTT checker?

Yes, both. It reads `.srt` and `.vtt` files, and you can paste the contents instead of uploading. Timestamps work with either the SRT comma or the VTT dot, sequence numbers and the `WEBVTT` header are skipped, and VTT cue settings after the end time are ignored rather than counted as caption text.

Will it fix the problems for me?

No, it reports them. Fixing timing and line breaks well is an editing decision, and the right fix for an overlap depends on which cue is wrong. You get the timecode, the measurement, and the reason, which is what you need to make the edit in whatever subtitle editor you already use.

Does it check spelling?

No, on purpose. Reliable spell checking needs the right dictionary for the language, and subtitle text is full of names, product terms, and deliberate informality. A checker without that context produces far more false alarms than real catches, so it measures only what it can measure honestly.

Does this check WCAG or Section 508 compliance?

Not conformance, no. Those standards decide whether captions must be present, accurate and synchronized, and some of that needs a human comparing the text against the audio. This measures the readability side: timing validity, overlaps, duration, reading speed and line length. A file can satisfy a compliance checklist and still be too fast to read, which is the gap this covers.

Are fast captions an accessibility problem?

In practice yes, even though no standard puts a number on it. Captions exist so somebody can follow the audio, and text that disappears before it can be read does not do that. Deaf and hard of hearing viewers, people watching in a second language, and anyone in a noisy room all lose the same information. That is why reading speed is weighted here rather than treated as a nicety.

Are my subtitles uploaded anywhere?

No. The file is parsed and measured in your browser as plain JavaScript, so nothing leaves your device. That is the reason to use a local checker for an unreleased episode or a client's file.

Real Results from Real Users

works like a charm, notes have been super helpful alongside chat function. loveeeee
KS
Katharine Suy
Chrome Web Store, October 17, 2024
nice app for important summary
S
SAHIL
Google Play, January 30, 2026

Ready to boost your productivity?

Start Subtitle Quality Checker with a free account. Usage limits apply; app downloads require a paid plan.

Start Free →

Start using in 60 seconds