Reaction time test
Measure how fast you react to visual, audio, and aim stimuli — timed with performance.now() precision.
Average human reaction time is roughly 250 ms for visual stimuli and 170 ms for audio. Pro gamers typically average 150–200 ms.
Consistency (low standard deviation) matters more than a single fast attempt. Timing uses performance.now() for sub-millisecond precision.
This reaction time test runs three different stimuli through the same timer. Visual waits a random 1 to 5 seconds and then changes colour. Audio plays a 150 ms sine tone at 800 Hz through Web Audio with no visual cue at all. Aim spawns a 30-pixel-radius target somewhere inside the pad and scores both how fast you hit it and how close to its centre you landed. Every attempt is timed with performance.now, clicking during the wait is recorded as a false start rather than a fast time, and at the end of the run you get average, best, worst and a standard deviation that measures how consistent you were.
Key facts about Reaction time test
| Modes | Visual colour change, Audio 800 Hz tone, Aim click target |
|---|---|
| Wait before the stimulus | random, between 1.0 and 5.0 seconds, so the moment cannot be anticipated |
| Timing source | performance.now(), read at the stimulus and again on your click, rounded to whole milliseconds |
| Audio cue | a sine OscillatorNode at 800 Hz, 0.3 gain, lasting 150 ms |
| Aim target | 30-pixel radius, placed at random inside the pad, fully clear of the edges |
| Aim accuracy | distance from the target centre expressed as a percentage of its radius |
| False start | a click during the wait phase ends the attempt with no time and is excluded from the average |
| Attempts per run | 3, 5, 10 or 15 — five by default |
| Consistency | sample standard deviation across the valid attempts of the run |
| Rating bands | under 150 Incredible, under 200 Excellent, under 250 Good, under 300 Average, under 350 Below average, above that Slow |
| Session history | each completed run is kept with its mode, average and best while the page stays open |
| Export | JSON with every attempt, the four statistics, the rating and the session history |
What happens to your file
Everything runs in this tab. The random delay comes from Math.random in your browser, the timestamps come from performance.now, the beep is synthesised locally by a Web Audio oscillator rather than downloaded, and your results are held in React state. No score is uploaded, there is no leaderboard, and nothing is written to local storage — reloading the page clears the run and the session history. The JSON export is built in memory as a Blob and downloaded by your own browser, so even that never crosses a network.
About this tool
- 1
Choose a mode
Visual is the standard test most people mean. Audio removes the display entirely from the chain. Aim adds the physical movement of the mouse, so it measures something different rather than something harder.
- 2
Set how many attempts
Three is enough for a quick check, five is the default, and ten or fifteen gives a standard deviation worth trusting. Longer runs also show fatigue, which is itself informative.
- 3
Wait for the stimulus
The delay is random between one and five seconds precisely so it cannot be timed. Clicking early is recorded as a false start with no time, and it does not pollute your average.
- 4
React, do not predict
In visual mode watch the pad, not the clock. In audio mode close your eyes if it helps — nothing on screen changes. In aim mode keep the cursor near the centre so travel distance is comparable between attempts.
- 5
Click through to the next round
After each attempt the result stays on screen until you click again, which starts the next wait. The run ends automatically when you reach the attempt count.
- 6
Read the spread, not just the average
Average with a small standard deviation means genuinely fast. A fast average with a large deviation usually means a couple of lucky anticipations mixed with slow attempts.
- 7
Export or repeat
Download the JSON if you are tracking change over time, or run the same mode again — the session history keeps every completed run for as long as the page is open.
| Browser support | all modern browsers; audio mode needs Web Audio, which Safari exposes as webkitAudioContext |
|---|---|
| Timer resolution | performance.now() is deliberately coarsened by browsers, typically to 0.1 ms or worse — fine at this scale |
| Display latency | included in visual mode: a 60 Hz screen adds up to 16.7 ms that is not your reflexes |
| Input latency | included in every mode: mouse polling, USB scheduling and the browser event loop all sit inside the number |
| Audio latency | included in audio mode: speaker and driver delay is part of the measured time |
| Touch devices | work in all three modes; a tap registers the same as a click, though touch adds its own delay |
| What the score is not | a clinical measurement — it is your reflexes plus your whole hardware chain |
| Account or install | none — no signup, no app |
- Take one throwaway run before the one that counts; first attempts are consistently slower while you learn the pad.
- Audio results usually come in 20 to 40 ms faster than visual, because the auditory pathway is shorter — that is expected, not a fluke.
- Aim results are much slower than visual because they include moving the mouse; compare aim to aim, never aim to visual.
- A 60 Hz monitor can add up to 16.7 ms to every visual attempt. Running the test on a 144 Hz screen will look like an improvement in reflexes that is really an improvement in hardware.
- Wireless mice and Bluetooth peripherals add a few milliseconds; if you compare setups, note which one you used.
- Test at the same time of day. Sleep, caffeine and fatigue move reaction time more than any equipment change.
- A false start is information: repeated false starts mean you are guessing the delay rather than reacting to the stimulus.
- If you want a clean comparison between two computers, use audio mode, which removes display latency from the chain.
- Visual, audio and aim modes sharing one timer
- Random 1 to 5 second delay with false-start detection
- 3, 5, 10 or 15 attempts per run
- Average, best, worst and standard deviation
- Aim accuracy scored against the target centre
- Rating from Incredible to Slow
- Session history and JSON export
- Getting a baseline reaction time before tuning a gaming setup.
- Comparing reflexes on two machines, or before and after a monitor upgrade.
- Checking whether caffeine, sleep or a warm-up actually changes your numbers.
- Practising aim and reaction separately, since the tool measures them as different things.
- Settling an argument between friends on identical hardware.
- Tracking consistency over a week using the standard deviation rather than the best single attempt.
Related tools
View allPart of Hardware testers that run in your browser
Works well with this5
More hardware testers10
More in Gaming10
Related categories3
Updated