Subtitle CPS Checker
Check subtitle reading speed in SRT, VTT, ASS or SSA. Set a CPS threshold, find fast subtitles and inspect each calculation.
Flag subtitles strictly above this reading speed. Analysis updates automatically.
1–100 CPS, up to 1 decimal place. Buttons adjust by 1 CPS.
Subtitle Preview
Choose a subtitle file to start previewing.
Choose a subtitle file to start previewing.
Waiting for analysis
Analysis starts automatically when your file and encoding are ready.
How to check subtitle CPS
- Choose your subtitle. Select or drop one SRT or VTT or ASS or SSA file. If asked, check the decoded text and confirm its encoding.
- Set the CPS threshold. Start at 20 CPS or enter a value from 1 to 100 with up to one decimal place. Valid changes update the analysis automatically.
- Inspect fast subtitles. Use Only over threshold to filter the list, select a subtitle to jump, or open its calculation details. The original preview and full timeline remain available. This is a read-only analysis with no download.
How CPS is calculated
CPS means characters per second: character count divided by the full cue duration. Characters are Unicode grapheme clusters, counted separately on each line. Spaces, nonbreaking spaces and punctuation count; line breaks, formatting tags, ASS drawing commands and VTT ruby readings do not. Only values strictly above the threshold are flagged, using the unrounded CPS. The list shows two decimals; calculation details show more precision. Drawing-only ASS events have no text reading speed. This tool analyzes the original subtitles without changing or exporting them. The default 20 CPS is a starting point, not a standard for every language or use.
Frequently asked questions
How are characters counted?
A Chinese character, a combined accented character or a complete joined emoji each counts as one grapheme cluster. Spaces and punctuation also count. Lines are counted separately so characters on opposite sides of a line break cannot combine. Formatting tags and line breaks are excluded.
Why can 20.00 CPS be over a 20 CPS threshold?
The list rounds to two decimal places. The actual speed may be slightly above 20 even when the rounded label is 20.00. Open Calculation details to check the character count, duration and more precise CPS. Exactly 20 is not over a threshold of 20.
What happens when I change or clear the threshold?
A valid threshold from 1 to 100, with up to one decimal place, updates the analysis automatically. An empty or invalid draft stays in the field. The previous analysis and its threshold remain clearly marked until the draft is corrected; the filter uses that displayed analysis.
Does filtering change the subtitle preview?
No. Only over threshold filters the list, adjacent subtitle navigation and list following. The original preview and full timeline stay available, including cues that are not over threshold. Filtered rows keep their original list numbers.
Can I check ASS or SSA subtitles?
Yes. The original ASS or SSA uses the shared native preview. Style controls, comments and drawing commands are excluded from text counting. A drawing-only event shows CPS not applicable. Native rendering problems do not change the text calculation.
Does this tool change or download my subtitles?
No. Analysis starts automatically when the file and any required encoding confirmation are ready. There is no Apply or Download button, no editing and no converted subtitle track.
Is my subtitle uploaded?
Your subtitle file is read and processed in your browser. Its content and filename are not uploaded to a server. The page still requests the resources needed to run the website.