How the measurement works

Every online reaction test measures your hardware as well as you. This one says how much.

The clock starts when the frame is painted

When you tap, three things are being timed together: your nervous system, your screen, and your input device. Most reaction tests report the sum and call it your reaction time. This one separates out the part it can actually calculate.

The timer here uses performance.now(), a monotonic clock with sub-millisecond resolution that does not jump when the system clock changes. It starts on the frame in which the stimulus is painted and stops on the browser's pointer event. That is the tightest measurement a web page is allowed to take.

What a refresh rate costs you

A screen does not show a change the instant the browser draws it. It shows it at the next refresh boundary. On a 60 Hz display those boundaries are 16.7 ms apart, and the stimulus lands at a random point between two of them — so on average it waits half a frame, 8.3 ms, before your eyes can possibly see it.

That is not a rounding error when the whole measurement is around 250 ms, and it is the single biggest reason the same person scores differently on a phone and a gaming monitor. The test measures your refresh rate from the browser's own frame clock, takes the median of 24 frames, and snaps it to the nearest standard panel rate. Then it subtracts half a frame from your average and shows both figures.

Average delay before a stimulus can be seen, by refresh rate.
Refresh rateFrame lengthAverage wait before the stimulus appears
60 Hz16.7 ms8.3 ms
75 Hz13.3 ms6.7 ms
120 Hz8.3 ms4.2 ms
144 Hz6.9 ms3.5 ms
240 Hz4.2 ms2.1 ms

What the correction deliberately does not include

A web page cannot measure the rest of the chain, so this test does not pretend to. Left in your score are: the panel's own pixel response and processing delay, your mouse or touchscreen polling interval, the operating system's input handling, and the browser's event dispatch. Together these commonly add another 10 to 30 ms on a laptop and less on a wired gaming setup.

That is why the corrected figure is labelled as a display correction rather than as your true reaction time. Subtracting a number we cannot measure would make the result look more precise and be less true.

If a reaction test tells you your "real" reaction time to the millisecond with no mention of your hardware, it is guessing at the part it left out.

How the percentile is worked out

Your result is compared against a modelled distribution for the age band you pick. The model is a lognormal curve — reaction times are not symmetrical, since there is a hard floor near 100 ms and a long tail of slow trials — anchored to two published facts: a median near 273 ms for adults on simple visual reaction tests, and the gradual slowing of simple reaction time through adult life reported in population studies.

It is a model, not a measurement of the people who used this site. It will place you roughly within your band, which is what most people want from it. It will not tell you anything clinically meaningful, and it is not adjusted for device, so a phone result and a desktop result are being scored against the same curve.

Why false starts are thrown away

Any tap before the stimulus is dropped, and so is any trial under 100 ms. Signal transmission, processing and muscle activation cannot be completed faster than that, so a sub-100 ms "reaction" is a guess that happened to land after the signal rather than before it. Averaging guesses in would reward anticipation, which is the opposite of what the test is for. Your false-start count is shown next to your average so you can see what was discarded.

Nothing leaves your device

The whole test runs in your browser. Trial times, your age band and your last ten runs are kept in your own browser's local storage and are never sent anywhere. Clearing your history in the tool, or clearing site data in your browser, removes them permanently. There is no account, no login and no server-side record of your scores.