Mouse reaction time test

The box below waits a random amount of time, then lights up as a whole. The moment it lights up, press the left button straight away — 5 trials to a round, and you get the median.

Let us be clear up front: the millisecond figure you read carries the latency of the screen refresh, the panel response and the mouse polling, so what it measures is this whole set-up, not your nerves. That number is always larger than your real reaction time, and by how much cannot be measured. It is only good for comparing one machine against itself — change the computer, or even just the monitor, and the figure shifts bodily by ten-odd to twenty-odd milliseconds. The full breakdown is below.

Changing the colour changes the measurement condition — numbers from different colours cannot be compared directly.

Click “Start”5 trials a round · press the left button when it lights up
Median reaction
—ms
needs 5 valid trials or more
Fastest
—ms
the smallest value seen, not your limit
Valid trials
—
False start
—
pressed before the colour; the trial is void
Implausible
—
faster than 100ms, kept out of the median
Screen refresh
—Hz
measured; for reference only

Only the result number and confidence level are uploaded; raw samples stay in your browser.

Trial log

Each row is one attempt in this round. When there is no median, the raw readings in this table are the only thing worth looking at — they are also the evidence that the median really was worked out from them.

What is inside the number

Four stretches of delay sit between the colour appearing on screen and your press being recorded. They are all added on top of the result, and that stretch cannot be measured — the browser can see neither your screen nor your USB cable. So this page reports the raw reading only and does not take off an estimated correction for you: that would only produce a fake number that looks precise.

Refresh rateOne frameTotal (incl. scan-out, panel response, mouse sampling)
60Hz16.7msabout 25 – 35ms
120Hz8.3msabout 15 – 25ms
144Hz6.9msabout 12 – 18ms
240Hz4.2msabout 8 – 14ms

The largest item is not mysticism, it is unavoidable by construction: the colour is painted inside some frame, and that frame only actually appears at the next screen refresh. So this one item alone adds a fixed whole frame — 16.7 milliseconds at 60Hz, while a 1000Hz mouse polling rate accounts for just 1 millisecond. The screen matters far more than the mouse.

This is also why this page ignores timing precision. The polling-rate page needs cross-origin isolation because it measures the difference between two adjacent events, which at 8000Hz is only 125 microseconds, while an un-isolated timestamp is quantised to 100 microseconds — an 80% error. Here there is only one event, on a scale of hundreds of thousands of microseconds, so 100 microseconds is a few parts in ten thousand, and the mouse’s USB sampling is 10 – 80 times larger than that. Isolating once would not take any of that error away, yet it would make every visitor sit through a page reload — so this page does not isolate.

What makes this number incomparable

Common questions

Why is the reaction time it measures slower than I expected?

Because what this number holds is not just your reaction. Four stretches of delay sit between the screen showing the colour and your press being recorded: the screen has to wait for its next refresh before the picture is presented at all, the panel itself takes a few milliseconds to change colour, the mouse’s button state is only sampled at the next poll, and the system and browser still have to deliver it. These stretches are all added on top of the result, and together they usually come to more than your neural reaction time. So what this page measures is how fast this computer is, not how fast you are. To find out whether you have got faster, you can only compare the same machine before and after.

Why compare only against “the same machine”?

Because that device delay is a fixed value that travels with the machine. On a 60Hz screen the “wait out a whole frame” item alone is about 8 milliseconds more than at 144Hz, and adding the panel response and the mouse’s polling rate, a difference of ten-odd to twenty-odd milliseconds between two machines is entirely normal — a gap bigger than most people gain from a year of practice. So comparing your score with someone else’s, or with the “the average human reaction is 250ms” figure online, is really comparing displays. The same person on the same machine scores very consistently — which is exactly why this page dares to use the median.

Why report the median rather than the average?

Because the average cannot take one lapse of attention. A single 600-millisecond daydream inside a round pushes the average up by tens of milliseconds, while the median barely moves — it only cares what “the one in the middle” was. So read three numbers together: Median reaction is the verdict, Valid trials says whether the round was enough, and Fastest is the smallest value observed — not your limit; a few more rounds will very likely go lower.

What does “false start” mean?

You pressed before the colour appeared — that is not a reaction time, so the trial does not count: it is counted on its own and you start again. The wait is re-randomised every round (1.5 – 4 seconds), so counting seconds and watching for the rhythm is no use. This is not a punishment, it is necessary: without a false-start rule, a hand held down in advance would land just after the colour and be recorded as a fast and fake value.

And what is “implausible”?

The press came less than 100 milliseconds after the colour appeared. The physiological floor for a simple visual reaction is around 120 – 150 milliseconds, and a “reaction” faster than that cannot have been a response to seeing it — it was prepared in advance and happened to land just after the colour. It is kept out of the median but still counted on its own, not quietly thrown away.

Can I just hold the button down?

The left button needs one press, no more. The judgement looks at the instant of the press, and if you hold the button down across the colour change the browser will not send another press event at all (a press event fires only at the moment it goes from not-pressed to pressed), so with no timeout the round would hang there forever. Not having received a press within 1500 milliseconds counts as a timeout and the trial is void. The right and middle buttons do not count, and while the test is running the right-click menu and middle-button autoscroll are blocked too, so neither will interrupt you.

Why 5 trials to a round?

A single measurement on its own says nothing — your state and whether you were distracted can swing one result by tens of milliseconds. So a round runs 5 trials and takes the median. With fewer than 5 valid trials (if two were voided, say), the median gives no number and shows a dash — the “median” of two is really just the average, which is worse than giving nothing.

Mouse repair

QR codeWeChat
淘宝店铺二维码淘宝店铺

Mouse acting up? Get in touch.

Repair