Subtitle speed · CPS

Subtitle reading speed calculator

Paste your .srt or upload the file and see, line by line, whether your subtitles read comfortably or go by too fast for a short video.

Clear
#TextDurationCPSWPMStatus
🔒 100% private — nothing is uploaded to any server

How it works

1

Upload or paste your .srt

You can also paste just the text if you haven't set the timings yet.

2

Read the line-by-line traffic light

Green: comfortable. Yellow: fast. Red: too fast. Blue: stays on screen too long.

3

Adjust the timings that need it

Use the line-by-line breakdown to know exactly which ones to fix in your editor.

What a healthy CPS looks like

CPS stands for characters per second: the number of text characters your audience has to read for each second a subtitle stays on screen. It's the metric the subtitling industry uses to tell whether a line can be read comfortably or competes too much with the attention the viewer gives the rest of the video.

In short-form —where, on top of the text, there are cuts, music and on-screen elements— it's worth being a bit more generous than in cinema or traditional TV, but without overdoing it: an unreadable subtitle gets skipped, not read.

Under 8 CPS — the line stays on screen longer than needed; you can shorten its duration.
8 to 17 CPS — a comfortable reading pace for short-form.
17 to 21 CPS — fast but still acceptable.
Over 21 CPS — too fast: a good part of the audience won't finish reading it.

Frequently asked questions

What is CPS in subtitles?

CPS stands for characters per second: how many characters of text the audience has to read for each second the line is on screen. It's the standard metric for measuring whether a subtitle reads comfortably or not.

What is a healthy CPS for short-form video?

Up to 17 characters per second is considered comfortable, 17 to 21 is fast but acceptable, and above 21 is usually too fast to read without losing context of the video.

Do I need an .srt file or can I paste text?

You can upload an .srt file or paste its contents directly into the text box. If you don't have timings yet, use the "I don't have timings yet" tab: paste the script and we suggest how long each line should last.

How are words per minute (WPM) calculated?

We count the number of words in each line (separated by spaces) and project it to one minute based on that line's real duration in the video.

What happens if a line has a duration of 0 or an invalid one?

It's flagged as "too fast" (red), since technically the text has no real on-screen time to be read.

Is my subtitle file uploaded to a server?

No. The .srt file is read and analyzed entirely in your browser with JavaScript. It's never sent to any server.

More tools in the kit