ListFan
Text · Free

Subtitle readability checker

Compare each cue with your own reading-speed and line-length limits.

01Enter your values

Runs in your browser

Runs offline in your browser. Once the page and required files have loaded, processing needs no internet.

Count Unicode code points, including spaces but excluding line breaks. Divide cue characters by its duration in seconds. Flag limits exceeded, not values equal to the limit; export every cue.

Example
Subtitle text

How it works

Compare each cue with your own reading-speed and line-length limits.

CPS = Characters / Duration

Runs in your browser

Discovery source

Your data stays yours

Inputs are processed on this page and are never sent to a server.

About this tool

Compare each cue with your own reading-speed and line-length limits.

Count Unicode code points, including spaces but excluding line breaks. Divide cue characters by its duration in seconds. Flag limits exceeded, not values equal to the limit; export every cue.

Use tool ↑

How to use it

  1. Enter your values

    Subtitle text · Characters per second · Characters per line · Lines per cue

  2. Calculate / generate

    Compare each cue with your own reading-speed and line-length limits.

  3. Result

    Flagged cues: 0 / 2

Calculation method

  1. Count Unicode code points, including spaces but excluding line breaks.
  2. Divide cue characters by its duration in seconds.
  3. Flag limits exceeded, not values equal to the limit; export every cue.
CPS = Characters / Duration
Example scenario

Subtitle readability checker

Subtitle text
1 00:00:01,000 --> 00:00:03,000 12345 2 00:00:04,000 --> 00:00:06,000 67890
Characters per second
20
Characters per line
42
Lines per cue
2
Result
Flagged cues: 0 / 2

Frequently asked questions

Scope and common mistakes

Paste plain-text SRT or WebVTT, up to 100,000 characters. Markup, entities, positioning, STYLE, REGION and NOTE blocks are rejected, not silently removed. Cue starts must be ordered; overlaps are allowed. This is not transcription or a media player. For no speed change use 100%, not 1%; positive offset delays subtitles. A linear transform cannot repair edits or irregular drift. Readability thresholds are your policy, not an accessibility certificate.

Where does my data go?

Calculations run on your device. Form inputs are not sent to a server.

Terms and definitions

Enter your values

Subtitle text

Enter the source text; it is processed locally.

Characters per second

Divide cue characters by its duration in seconds.

Enter a numerical value for this quantity.

Minimum: 0.001 · Maximum: 100000

Characters per line

Count Unicode code points, including spaces but excluding line breaks.

Enter a whole number; fractional counts are not valid.

Minimum: 1 · Maximum: 100000

Lines per cue

Enter a whole number; fractional counts are not valid.

Minimum: 1 · Maximum: 1000

Result

Result

Count Unicode code points, including spaces but excluding line breaks. Divide cue characters by its duration in seconds. Flag limits exceeded, not values equal to the limit; export every cue.

Calculated from your entries using the method below.

Flagged cues

Count Unicode code points, including spaces but excluding line breaks. Divide cue characters by its duration in seconds. Flag limits exceeded, not values equal to the limit; export every cue.

Calculated from your entries using the method below.

Cues

Count Unicode code points, including spaces but excluding line breaks. Divide cue characters by its duration in seconds. Flag limits exceeded, not values equal to the limit; export every cue.

Calculated from your entries using the method below.

Cue

Count Unicode code points, including spaces but excluding line breaks. Divide cue characters by its duration in seconds. Flag limits exceeded, not values equal to the limit; export every cue.

Calculated from your entries using the method below.

Start

Count Unicode code points, including spaces but excluding line breaks. Divide cue characters by its duration in seconds. Flag limits exceeded, not values equal to the limit; export every cue.

Calculated from your entries using the method below.

Duration

Divide cue characters by its duration in seconds.

Calculated from your entries using the method below.

Characters

Divide cue characters by its duration in seconds.

Calculated from your entries using the method below.

Characters per second

Divide cue characters by its duration in seconds.

Calculated from your entries using the method below.

Characters per line

Count Unicode code points, including spaces but excluding line breaks.

Calculated from your entries using the method below.

Lines per cue

Count Unicode code points, including spaces but excluding line breaks. Divide cue characters by its duration in seconds. Flag limits exceeded, not values equal to the limit; export every cue.

Calculated from your entries using the method below.

Exceeded limits

Flag limits exceeded, not values equal to the limit; export every cue.

Calculated from your entries using the method below.

Common mistakes and quick fixes

Scope and common mistakes

Mistake: Treating a result as valid outside the described scope.

Fix: Paste plain-text SRT or WebVTT, up to 100,000 characters. Markup, entities, positioning, STYLE, REGION and NOTE blocks are rejected, not silently removed. Cue starts must be ordered; overlaps are allowed. This is not transcription or a media player. For no speed change use 100%, not 1%; positive offset delays subtitles. A linear transform cannot repair edits or irregular drift. Readability thresholds are your policy, not an accessibility certificate.

Limits and key assumptions

  • Paste plain-text SRT or WebVTT, up to 100,000 characters. Markup, entities, positioning, STYLE, REGION and NOTE blocks are rejected, not silently removed. Cue starts must be ordered; overlaps are allowed. This is not transcription or a media player. For no speed change use 100%, not 1%; positive offset delays subtitles. A linear transform cannot repair edits or irregular drift. Readability thresholds are your policy, not an accessibility certificate.
  • Count Unicode code points, including spaces but excluding line breaks.
  • Flag limits exceeded, not values equal to the limit; export every cue.
  • Displayed results may be rounded; rounding does not add measurement precision.