GratisAIaccessibility · field guide · local-first · no account
caption-rate triage

Check Caption Cue Reading Rates Against Your Own Mark — Free

A caption can be perfectly timed by the tooling and still too fast to read. Divide characters by seconds per cue, hold the result next to your own pace mark, and the fast ones stop hiding in the timeline.

The proof surface

Captioner-throughput tools price and pace the human work. This triage inspects the finished cues instead: each cue's characters ÷ seconds shown, flagged against a supplied characters-per-second mark, with the fastest rate as the summary. It does not measure comprehension or verify any broadcast standard.

InputCue code | characters | seconds shown; reading-pace review mark (characters per second)
Rare deviceCaptioner-throughput tools price and pace the human work. This triage inspects the finished cues instead: each cue's characters ÷ seconds shown, flagged against a supplied characters-per-second mark, with the fastest rate as the summary. It does not measure comprehension or verify any broadcast standard.
Output artifactFastest cue rate with row-by-row context
Cost$0 local calculation · no card, paid key, subscription or signup · proposed filing price is not for sale
Sample, not your facts: Illustrative inputs: Cue 3 | 68 | 4; Cue 7 | 90 | 4.5. Reading-pace review mark (characters per second) = 17. Fastest cue rate: 20 characters/second. All records are invented.

Before using the caption-rate triage

Characters are the visible caption text length for the cue — decide once whether you count spaces and trailing punctuation, and use that convention for every row. Seconds are the cue's on-screen duration as timed, not the gap to the next cue. If your source reports durations in frames, convert at the source frame rate before entry; the triage accepts seconds with up to six decimal places. The mark is your working threshold — values quoted by guidelines and broadcasters differ, and you supply the one your review is testing against. Reading rate is one axis of caption quality: line length, positioning, verbatim accuracy and audio significance remain outside this arithmetic.

Why the flat version breaks

Averaging the whole file's rate

Total characters ÷ total seconds produces a comfortable average that individual cues can wildly exceed. Viewers read cues, not averages; a file with a calm mean can still contain unreadable spikes, which is precisely what per-cue triage exists to catch.

Mixing duration definitions

On-screen duration, time-to-next-cue and edit-timeline length differ by tens of milliseconds that matter at high rates. Use the cue's actual display duration throughout; if your tool reports frames, convert at the real frame rate rather than assuming 25.

Quoting a standard the mark does not hold

Different broadcasters and guidelines quote different pace limits for different audiences, and the triage deliberately supplies none of them. Enter the threshold your review actually applies, and attribute it in your own report — the flagged rows are only as valid as the mark they were tested against.

How to work the caption-rate triage

Export cues with characters and durations

Pull the cue list from the caption file or editing tool with each cue's text length and on-screen duration. Anonymous cue codes keep the log shareable; the text itself never needs to enter the triage. Verify the export convention — some tools report display time, others include lead-in.

Fix one character-counting convention

Decide whether spaces and punctuation count and apply it uniformly; a mixed convention will flag rows that are artefacts of the counting, not of pace. The triage takes your number as truth, so the convention decision belongs upstream of it.

Divide each cue, then compare strictly

Rate is characters ÷ seconds for each cue; compare against the mark with strict greater-than. Equality is not flagged by design, so if your policy treats at-the-mark cues as problems, lower the mark rather than arguing with the comparison. Rows with a zero duration are rejected outright — a cue shown for no time has no rate.

Triage the flagged cues, not the average

An average rate across a file hides exactly the cues viewers actually stumble on, so the triage surfaces per-cue rates and the fastest one. Take flagged cues back to the timeline: can the cue be shortened, shown longer, or split? Ask an accessibility or captioning specialist to review persistent fast cues before publishing.

What the caption-rate triage separates

QuestionBeforeInspect this instead
Averaging the whole file's rateTotal characters ÷ total seconds produces a comfortable average that individual cues can wildly exceed. Viewers read cues, not averages; a file with a calm mean can still contain unreadable spikes, which is precisely what per-cue triage exists to catch.Fix one character-counting convention
Mixing duration definitionsOn-screen duration, time-to-next-cue and edit-timeline length differ by tens of milliseconds that matter at high rates. Use the cue's actual display duration throughout; if your tool reports frames, convert at the real frame rate rather than assuming 25.Divide each cue, then compare strictly
Quoting a standard the mark does not holdDifferent broadcasters and guidelines quote different pace limits for different audiences, and the triage deliberately supplies none of them. Enter the threshold your review actually applies, and attribute it in your own report — the flagged rows are only as valid as the mark they were tested against.Triage the flagged cues, not the average

This caption-rate triage replaces a manual count or calculation, not source verification or the responsible person’s review.

Run it on the samples, right here

FIRST-LOAD

HYPOTHESIS / PROTOTYPE — checkout unavailable. Calculation is local. A draft is saved automatically in this browser profile when storage is available; Reset to sample clears it. Optional Pro history stores only five summaries and has its own deletion control. State links encode your inputs and can remain in browser history, clipboard or recipients’ records; share only non-sensitive rows. Optional external AI formatting leaves this device. The required site analytics beacon reports page activity; shared URLs contain encoded inputs. Do not treat an encoded URL as private. The calculator has no input-collection endpoint.

Reading-rate arithmetic on reader-supplied cue data only, not a conformance certificate or comprehension test. Review caption quality and any applicable standards with a qualified accessibility or captioning specialist.

Data note: The caption-rate triage processes Cue code | characters | seconds shown locally. Starter/sample selection and Run compute in this tab; no input is sent by the calculator. A local draft may be saved; explicit state-link sharing or optional external AI formatting can disclose inputs. Use non-sensitive labels.

Go deeper: the companion app files the same reading as a triage clipboard with three lanes

The article demo above runs without limits. The companion app keeps a local history, exports the rows as CSV, prints the caption-rate triage reading, and holds your drafts on this device — one complete free app run; the proposed $4 one-time filing layer is not for sale.

The caption-rate triage answer stays complete for free. The proposed $4 one-time filing layer adds row CSV, print and five local reading summaries, not hidden answers. Checkout is unavailable; the article demo remains unlimited.

Open the caption-rate triage companion

Boundary

Reading-rate arithmetic on reader-supplied cue data only, not a conformance certificate or comprehension test. Review caption quality and any applicable standards with a qualified accessibility or captioning specialist.

What this is built on

Before: fast captions hid inside a comfortable file average. After: each cue carries its own characters-per-second, and the fastest one is on the record.

Three worked readings, with different inputs

Sample A — typical inputs

Cue 3 | 68 | 4
Cue 7 | 90 | 4.5

Setting: Reading-pace review mark (characters per second) = 17. Expected summary: 20 characters/second.

Cue 3 shows 68 characters for 4 seconds: exactly 17 per second, which equals the supplied mark and therefore is not flagged — equality is the boundary, not a breach. Cue 7 shows 90 characters in 4.5 seconds, 20 per second, and is flagged. The triage reports the fastest cue rate, 20, as the summary and keeps both the count and the mark visible.

Sample B — changed plan

Cue 1 | 30 | 3

Setting: Reading-pace review mark (characters per second) = 17. Expected summary: 10 characters/second.

Thirty characters over three seconds is a relaxed 10 per second, well under the mark, and the single-cue case shows the triage working at its smallest size. The number describes on-screen pace only: it cannot see whether the cue also appears with dense visuals or complex audio that competes for attention.

Sample C — boundary convention

Cue 9 | 51 | 3

Setting: Reading-pace review mark (characters per second) = 17. Expected summary: 17 characters/second.

Fifty-one characters in three seconds lands exactly on the 17-per-second mark, and the triage deliberately leaves it unflagged. This boundary case exists so nobody has to wonder about the comparison direction: strictly above the mark flags, at the mark does not. Whether your own standard should treat equality as a breach is yours to set through the mark itself.

Optional AI formatting, never the calculation

Manual entry completes this caption-rate triage for free without signup. If available to you, the free AI Studio interface linked in the sources may format fictional or non-sensitive notes; external access may require an account. No API key or AI call is built into this tool. Free-tier content may be used to improve products. Review each cell and transcribe it to the labeled row schema; do not paste the JSON object into the row box.

Format only these fictional or non-sensitive notes for a caption-rate triage. Return strict JSON shaped as {"rows": [{"label": "string", "cells": ["string", "string"]}], "setting": "string"}. The columns are Cue code | characters | seconds shown; the setting is Reading-pace review mark (characters per second). Keep all supplied strings and quantities exactly; do not calculate, infer missing entries, invent dates or add advice. If any required value is missing, return an empty rows array and ask me for it separately. I will verify every cell against my source and manually transcribe rows using vertical bars before running the local calculator.

An AI response is not executed, fetched or trusted as a result. Missing values remain questions; the strict local parser checks the rows you actually enter.