CPSBench is a one-person project. I wanted a click test that tells you more than a single number, loads instantly on a school Chromebook, and doesn't bury the button under ads. So I wrote one.
The site is static files: plain HTML, one stylesheet and two scripts, no framework and no build chain beyond a small Python script that stamps out the pages. There is no backend. Everything you see is computed in your browser.
How scores are calculated
Every hit is time-stamped with the browser's high-resolution clock. A run starts on the first hit and ends exactly when the selected time is up. Average CPS is hits divided by test length. Peak is the most hits inside any one-second window. Cadence is the coefficient of variation of your gaps, inverted and scaled to 0 to 100. The technique label comes from gap patterns. It looks at how spread out the gaps are and whether short and long ones take turns, and it flags gaps too short for a human finger. Held keys and key repeat are never counted.
Fair play
Auto clickers and macros produce big numbers here like they do everywhere. Runs with machine-even gaps are labelled and kept out of your personal bests, which are stored only on your own device anyway. When public leaderboards arrive they will check timing patterns before accepting a result.
Changelog
0.2, 20 Sep 2026. Spacebar counter with 100-press race and tally mode. Jitter, butterfly and Kohi pages. Cadence, technique detection, second-half fade, ghost of your best run, share button, recent runs.
0.1, 20 Sep 2026. First public version: a single CPS test.
What's next
A reaction time test, then leaderboards. After that, probably a proper clicker game, because half of you are here to kill five minutes and I respect that.
Contact
Found a bug or a score that looks wrong? Write to [email protected].