CAPTIONQC

SRT VALIDATOR
local · no upload leaves browser

What is characters per second (CPS) and why does it matter?

Published by Caption QC · Fabled Tales Productions · Reading time: 5 minutes

Characters per second — usually written as CPS — is the standard measurement used in professional captioning to express how fast a caption is moving across the screen. It is one of the most important quality checks in caption production, and exceeding the CPS limit set by a platform is one of the most common reasons SRT files fail technical QC.

If you have ever had a caption file rejected by Netflix, Filmhub, or a broadcast deliverable fail QC, there is a good chance a CPS violation was involved. This guide explains exactly what CPS means, how it is calculated, what the major platforms require, and what to do when your captions are running too fast.

What does CPS actually measure?

CPS measures reading speed — specifically, how many characters a viewer needs to read per second while a caption is on screen. A high CPS value means the caption contains a lot of text relative to how long it is displayed, giving the viewer less time to read it before it disappears. A low CPS value means the caption is either short or stays on screen for a long time, giving the viewer plenty of reading time.

The purpose of setting a maximum CPS is accessibility. Captions exist to make audio content accessible to deaf and hard-of-hearing viewers, and to viewers watching without sound. If captions move too fast for the average reader to follow, they fail their fundamental purpose — regardless of how technically accurate they are.

CPS = Total characters in caption ÷ Duration on screen (seconds)

How to calculate CPS

CPS is calculated by dividing the total number of characters in a caption block by the duration that caption is displayed on screen, in seconds. Characters include all letters, numbers, spaces, and punctuation marks. HTML formatting tags such as <i> and </i> are generally not counted as they are not displayed to the viewer.

Example calculation Caption text: "I can't believe what just happened out there." (46 characters including spaces)
Display duration: 2.5 seconds
CPS = 46 ÷ 2.5 = 18.4 CPS — this would exceed the Netflix limit of 17 CPS.

In the example above, the fix would be either to shorten the text (for example, trimming to "I can't believe what happened." at 30 characters, giving 12 CPS), to extend the display duration, or to split the caption into two shorter events.

CPS limits by platform

Different platforms set different CPS limits depending on their target audience and accessibility standards. The table below shows the CPS limits for the major platforms and broadcasters.

PlatformMax CPSNotes
Netflix (adult content)17Most commonly cited Netflix limit for general and adult programming
Netflix (children's)13Lower limit for children's titles and family programming
BBC~15BBC specifies ~180 words per minute; 15 CPS is the commonly used equivalent
Filmhub25More permissive than Netflix; still enforced at QC stage
YouTube~20No official limit; 20 CPS is widely used best practice
FCC (US broadcast)No fixed limitFCC requires a "readable rate" but does not specify a numeric CPS cap
DCMP (US educational)~17Described and Captioned Media Program guidance aligns with Netflix figures

Why do platforms set different limits?

The variation in CPS limits between platforms reflects differences in audience, content type, and accessibility philosophy. Netflix's 17 CPS limit is relatively conservative and reflects a commitment to accessibility across a global audience with varying reading speeds and literacy levels. Filmhub's 25 CPS limit is more permissive, reflecting the platform's independent film focus where captions are often closer to subtitle translations than traditional closed captions.

The BBC's approach of specifying reading speed in words per minute rather than CPS reflects a different measurement tradition in UK broadcasting. Words per minute is more directly related to average reading speed research, but CPS has become the dominant measurement in global streaming because it is easier to calculate programmatically from a text file.

What causes high CPS?

The most common causes of excessive CPS in SRT files are:

How to fix high CPS captions

There are several approaches to resolving CPS violations, depending on the nature of the content:

  1. Edit the caption text — shorten the caption by removing filler words, paraphrasing, or condensing the dialogue. This is the most common approach and is acceptable under most style guides as long as the meaning is preserved.
  2. Extend the display duration — increase the time the caption is on screen. This only works if there is available time before the next caption event begins without creating an overlap or insufficient gap.
  3. Split into two caption blocks — divide a long caption into two shorter events. The first block ends, a brief gap follows, then the second block appears. This is the preferred approach for particularly long pieces of dialogue.
  4. Move the caption start time earlier — if the caption can appear slightly before the dialogue begins, this gives more display time without affecting the end time. Most style guides allow captions to appear up to 2 seconds before the relevant audio.

CPS vs words per minute

You may encounter reading speed expressed in words per minute (WPM) rather than CPS, particularly in older broadcasting standards and BBC documentation. The two measures can be approximately converted, though the conversion is not exact because word length varies. As a rough guide, 17 CPS is approximately equivalent to 150–170 WPM, and 180 WPM (the BBC guideline) is approximately 15–17 CPS depending on average word length in the content.

How Caption QC checks CPS

Caption QC calculates CPS for every caption block in your SRT file automatically. It counts the total characters across all lines in a caption block (excluding SRT formatting tags), divides by the caption duration in seconds, and flags any block where the result exceeds your chosen limit. The Netflix, BBC, Filmhub, and YouTube presets automatically set the correct CPS threshold for each platform.

Check the reading speed of every caption in your SRT file — free, in your browser.

Run Caption QC →