Click Speed Test
Test your clicking speed, challenge your limits
Start Test
Select test duration (5s, 10s, 30s)
What is Click Speed Test?
This page is a click speed, or CPS, test: it measures how many valid clicks or space-key presses you can make within a fixed time window. It is mainly used by gamers, mouse enthusiasts, and anyone curious about short-burst hand speed. The result is clicks per second, total clicks, duration, and recent records, which makes it easy to compare several rounds of practice. It is not a typing words-per-minute test and does not evaluate text accuracy. CPS can be affected by mouse switch feel, debounce behavior, browser event handling, keyboard use, fatigue, and test duration. Very high numbers may reflect hardware or input quirks, so compare results under the same settings rather than treating one score as an absolute ability measure.
How to Use
How to use
- Select test duration (5s, 10s, 30s)
- Click the "Start Test" button
- Click as fast as you can during countdown
- View your CPS score and rating
Speed Ratings
- >10 CPS: Godlike speed, pro gamer level
- 8-10 CPS: Excellent speed, above average
- 5-8 CPS: Average speed, most people's level
- 3-5 CPS: Below average, needs practice
- <3 CPS: Need more practice
Tips
- Keep your wrist relaxed, don't tense up. Try double-clicking or jitter clicking techniques to boost speed. Test 5-10 times for an accurate average.
Use Cases
Technical Principle
CPS (clicks per second) is defined as `total_clicks / duration_seconds`. The page measures time with `performance.now()` rather than `Date.now()` because `performance.now()` returns a monotonic high-resolution timestamp in fractional milliseconds that is not affected by NTP corrections or the user changing the system clock mid-test. The duration is captured once at start and once at the natural end of the window, so a 10-second test always divides by 10.000 rather than by a drifting wall-clock difference. Click capture binds to `mousedown` (or `pointerdown`) instead of `click` because `mousedown` fires before the browser's 250-300 ms double-click delay and lands on the first physical button press, which is what hardware-style CPS expects. Each event records `event.timeStamp` and increments the counter. Keyboard parity uses `keydown` with `event.repeat === false` so a held-down Space key cannot generate auto-repeat events at the OS key-repeat rate (typically 30 Hz on Windows, configurable on macOS) and falsely inflate the score. Touch input uses `touchstart` with `event.preventDefault()` to suppress the synthetic `mousedown` that would otherwise double-count on mobile. The physical ceiling sits well below where most people imagine: ordinary single-clicking on a consumer mouse plateaus at 6-10 CPS, primarily because the mechanical switch debounce window (Omron D2F: ~8 ms, Kailh GM: ~3-5 ms) caps how fast successive presses can register. Jitter clicking (locking the forearm and tensing the click finger) reaches 12-16 CPS, butterfly clicking (alternating two fingers on one button) hits 16-22 CPS, and drag clicking (frictioning the finger across the button) can spike above 30 CPS but requires hardware that does not debounce aggressively. Records persist via `localStorage.setItem('cps_history', JSON.stringify(records))`, keeping the last 50 entries scoped to the origin.
- Timing uses `performance.now()` (monotonic, sub-millisecond), not `Date.now()` which can jump when the system clock is corrected.
- Click listener is `mousedown` (or `pointerdown`), not `click`, to avoid the 250-300 ms double-click delay and count the first physical press.
- Keyboard parity uses `keydown` with `event.repeat === false` to ignore OS auto-repeat events (≈30 Hz on Windows) from a held key.
- Mouse switch debounce (Omron D2F ≈ 8 ms, Kailh GM ≈ 3-5 ms) is the usual hardware ceiling on raw single-click CPS.
- Touch input handles `touchstart` with `preventDefault()` to suppress the synthetic 300 ms-delayed mousedown on mobile browsers.
- Typical bands: normal click 6-10 CPS, jitter 12-16, butterfly 16-22, drag 25+; records persist to `localStorage` (no network).
- CPS values are only comparable at identical durations; a 5 s burst usually scores 15-30% higher than a 30 s endurance run because fatigue dominates the longer window.
Examples
10-second test, average user
Duration: 10 s
Clicks: 63
CPS: 6.3
Rating: Average Speed
Most desktop users land in the 5-8 CPS band with a normal mouse and no clicking technique.5-second burst with jitter-click technique
Duration: 5 s
Clicks: 71
CPS: 14.2
Rating: Godlike Speed
Jitter and butterfly clicking routinely hit 14-20 CPS but are penalized or banned in many competitive games.Mouse vs Space-key comparison
Run A (mouse, 10 s): 82 clicks -> 8.2 CPS
Run B (Space, 10 s): 76 clicks -> 7.6 CPS
A persistent gap usually points to keyboard polling rate or wireless latency, not raw hand speed.FAQ
Is this a typing speed test or a clicking speed test?
It is a click speed (CPS) test, despite the URL name. It measures how many valid clicks or space-key presses you can make inside a fixed time window. It does not test typing words per minute - look for a separate WPM tool if you need that.
How is CPS calculated?
CPS = total valid clicks ÷ duration in seconds. The timer starts on your first click and ends when the chosen window (commonly 5, 10, 15, 30, 60, or 100 seconds) elapses. The page also reports total clicks and time so you can verify the math yourself.
Are space-bar presses counted the same as mouse clicks?
Yes. The page accepts both mouse clicks inside the click area and space-bar key presses, so users without a mouse (laptops, mobile keyboards) can still test. Holding the button down does not auto-fire - each press is one click.
Why does my CPS fluctuate from run to run?
Short bursts of clicking are noisy. Hand fatigue, finger placement, mouse switch travel, polling rate, and even how aggressively you tense your forearm change the result. Take the median of three runs rather than your single best for a more honest number.
Does the mouse and surface affect my score?
Yes. A gaming mouse with light optical/mechanical switches and a 1000Hz+ polling rate registers clicks faster than an office mouse. A trackpad usually scores lower than a mouse, and a mouse on a slick pad lets you reset position faster. Use the same setup if you are comparing scores across runs.
Are my results saved between sessions?
Recent results are stored in your browser (typically localStorage) so you can compare runs in the same session. Clearing site data or switching browsers wipes them. Nothing is uploaded to a leaderboard or shared with other users.
What's a normal CPS score and how high can humans go?
Casual clickers land around 4-6 CPS. Regular gamers typically reach 6-8. Techniques like jitter clicking and butterfly clicking push 10-15+ CPS, but they stress the wrist and are banned in many competitive games. Your everyday clicking speed is what matters for office or browsing work, not the burst maximum.