Reaction Time Test
Test your reflexes across three modes — classic Visual, target Aim, and Go / No-Go. Five tries, then see your average in milliseconds, your percentile rank, and grab a share card.
When the box turns green, click as fast as you can.
Click / tap the pad, or press Space / Enter.
Your result
These tiers are approximate, based on typical human visual reaction times — not a live leaderboard.
What counts as a good reaction time?
For a simple visual test like this — you see one colour change and respond — most people land somewhere around 250–280 ms. Under about 220 ms is genuinely fast, and anything under roughly 180 ms is exceptional. Times below 100 ms almost always mean you clicked before you actually saw green, since that is faster than the human eye and hand can physically react.
This test measures the milliseconds between the moment your browser paints the green frame and your click. It cannot remove the tiny delay your display and operating system add before the colour physically appears — that limit applies to every in-browser reaction test — but it is consistent, so comparing your own attempts is perfectly fair.
What the number is actually made of
A reaction time is a suspiciously clean figure for something assembled out of a display, a mouse, an operating system, a browser and — somewhere in there — you. Here is how this page builds it.
Where the stopwatch starts and stops
The clock is performance.now(), the browser's monotonic high-resolution timer.
It is not the system clock, so it will not jump if your machine quietly syncs the time
mid-round. The start reading is not taken when the code decides to turn the pad green — it
is taken inside a requestAnimationFrame callback, which runs on the next frame
the browser is about to paint. The reference point is therefore the frame carrying the
green, not the instruction to draw it. For the same reason the pad has no CSS transition on
its background colour: a fade would smear the change across several frames and make
everybody look faster than they are.
The stop reading is taken on pointerdown, which fires before click,
and it is the very first line of the handler — before the event is cancelled, before the pad
takes focus, before anything else runs. Keyboard presses follow the same path on
keydown, with auto-repeat ignored. Your score for the round is the difference
between those two readings, rounded to a whole millisecond.
Five tries, and what does not get thrown away
A run is five recorded trials, and the wait before green is a fresh random value between one and three seconds every time, so there is no rhythm to learn. The average is the plain mean of those five, rounded. Nothing is trimmed.
Clicking during the wait produces no number at all — the round is voided with a "Too soon"
and replayed, so guessing early cannot pay. What survives is subtler: a click under 100 ms is
flagged "too fast" and one over 2,000 ms is flagged "outlier", but both still count towards
your average. The flags exist so you can spot a junk trial and rerun it, not so the page can
quietly launder your data. Leaving the tab mid-round cancels that round too, because a
backgrounded tab gets throttled and the timing would be fiction. The "faster than X% of
people" line is a curve centred on a typical value for the mode you picked — there is no
leaderboard and nobody else's data behind it. Your best average and fastest single trial sit
in your browser's own storage under the key sellkit_reaction_best.
Everything standing between your finger and the figure
Both endpoints of that measurement sit inside the browser. Plenty happens outside it:
- Refresh rate. At 60 Hz a finished frame can wait up to about 17 ms before the panel shows it; at 144 Hz, roughly 7 ms.
- The panel. Pixel response, scaling and image processing all sit between "the frame arrived" and "the colour is visible" — televisions are the worst offenders unless a game mode is on.
- The input path. Wireless mice add radio and polling delay, Bluetooth more than a dedicated dongle, and touchscreens sample your finger on their own schedule.
- Scheduling. Other tabs, extensions, garbage collection and whatever the OS is busy with can push the handler back a frame or two.
So a browser reaction test measures your whole setup, not just you. The same person on a wired mouse and a fast monitor will beat their own laptop-and-Bluetooth score without having got any quicker.
So how should you read your result?
As a personal baseline. Run it a few times on one machine and compare later runs against that — same screen, same mouse, ideally the same time of day. The hardware delay is then a constant, and what moves is actually you: sleep, caffeine, warm-up, whether you are properly paying attention. Comparing against a stranger's screenshot mostly compares two unknown hardware stacks.
And to be plain: this is a browser toy, not a neurological or medical assessment. It cannot tell you anything about your health, and a slow or wildly inconsistent set of numbers here is far more likely to be your hardware or your attention than anything about you. If you are genuinely concerned about your reaction speed, coordination or attention, talk to a doctor rather than a web page.
Frequently asked questions
How does the reaction time test work?
Click "Start", then wait. The box turns orange while it's not ready — as soon as it flips to green, click (or press Space) as fast as you can. We measure the milliseconds between the screen turning green and your click. Do it five times and we show your average and your fastest attempt.
What is a good reaction time?
For a simple visual test like this, most people land somewhere around 250–280 ms. Under about 220 ms is fast, and anything under roughly 180 ms is exceptional. Times below 100 ms usually mean you clicked before you actually saw green — so try again without guessing.
Are my results saved or shared anywhere?
Your personal best is stored locally in your own browser (localStorage) and never leaves your device. There's no account, no server, and no live leaderboard — the ranking labels are approximate guides based on typical human reaction times.