Reaction Time Test

About the Reaction Time Test

The Reaction Time Test is a free tool that measures, in milliseconds (ms), how long it takes your hand to respond after a signal appears (your reaction time). It runs right in your browser with no installation or sign-up, and your results are stored only in this browser.

A distribution of several measurements is more accurate than a single number, so trials are grouped into sets of 5 and shown with the mean, median, best and standard deviation. Repeat sets on the same device and a personal progress chart builds up over time.

Key features

How to use

  1. Pick a mode at the top (Visual, Auditory or Go/No-go). For auditory mode, turn your sound on.
  2. Click or tap the large test board, or press the spacebar, to start.
  3. Don't press during "Wait" — press as fast as you can the moment the signal arrives.
  4. After each trial, press once to move on to the next. Once 5 valid trials (8 stimuli for Go/No-go) are collected, the set ends and your results are saved.

How it measures

All timing is based on the browser's high-resolution clock, performance.now(). Input time uses the moment the event occurred (event.timeStamp), and for mouse and touch it measures the moment you press down (pointerdown), not when you release.

For the visual signal, the board is changed with requestAnimationFrame, and the start of the next frame after that change is painted is taken as the signal time. This avoids inflating reaction times by timing from a moment before the change actually appears on screen.

For the auditory signal, the beep is scheduled in advance with Web Audio, and getOutputTimestamp() converts the time the sound is actually output onto the same clock. In browsers without this feature, the reported output latency is added to the scheduled time.

The wait time is random every trial, so you can't memorize the rhythm and press early. If you switch to another tab during a trial, that trial is stopped.

Benchmarks and sources

This test is for entertainment and self-checking only and is not a medical or neurological diagnosis. If you feel your reactions have changed significantly from usual, consult a professional.

Frequently Asked Questions

What is a good reaction time in ms?

Visual reaction times measured in a web browser mostly cluster in the high 200s ms (the median in Human Benchmark's public statistics is about 273 ms). However, monitor, mouse and operating system latency add a few to tens of ms, so the same person can get different results on different devices. Rather than comparing yourself with others, watch how your results change on the same device.

Why 5 trials? Isn't one enough?

Reaction time fluctuates by tens of ms from trial to trial. A single value is heavily influenced by luck, so we collect 5 trials and look at the mean and median. If one or two trials are much slower, the median reflects your true ability better than the mean.

What does "Too soon" mean?

It means you pressed before the signal appeared, or within 100 ms after it. It takes a person longer than that to perceive a signal and move their hand, so such input is treated as anticipation rather than a reaction to the signal, discarded, and the trial is retaken.

My auditory reaction is slower than my visual one.

Research generally finds auditory reactions to be faster, but your device's audio output latency can reverse the result. Bluetooth earbuds and speakers in particular can output sound tens to hundreds of ms late, so try wired earphones or your device's built-in speaker.

Why do my phone and computer give different results?

Touchscreen input processing, screen refresh rate (60 Hz, 120 Hz, etc.) and how the browser handles events all differ. On a 60 Hz screen, one frame is about 16.7 ms, so display timing alone can account for a difference that large.

Where are my results stored?

They are stored only in this browser's local storage (localStorage) and are never sent to a server. If you clear your browser data or use a different device or browser, your history won't appear. You can delete the history for each mode with "Clear history" on the results screen.

Back to the test →