An audio reaction time test measures how quickly you respond after hearing a sound cue — usually a beep, tone, or spoken prompt — and reports the gap in milliseconds between that audio signal and your press. The auditory neural pathway is shorter and less complex than the visual one, so the same person usually produces lower (faster) numbers on an audio test than on a visual test. A browser-based reaction time test, however, uses a visual signal: a colored panel that turns green and prompts you to press. The millisecond score that the browser reports is the interval from the moment the page's ready-state callback fires to the moment the browser receives your pointer or keyboard event, not from a sound. That difference matters, because the score also includes display refresh, compositor scheduling, browser task timing, operating-system input handling, and the input device's transport delay, on top of your own response. This article walks through how the Reaction Time Test tool works, what the milliseconds actually cover, and how to read the recent, best, and average values it keeps for you.

What an audio reaction time test actually measures
An audio reaction time test is, at its core, a stopwatch problem with a sensory input swapped in. After a randomized waiting period, a sound plays — most often a short tone, a click, a beep, or a spoken word — and the test starts its timer at that instant. Your press on a key, button, or touch surface stops the timer, and the difference is reported in whole milliseconds.
What changes between an audio test and a visual test is the sensory pathway that triggers your decision. Hearing travels through fewer processing stages than sight, which is one reason audio reaction times are typically a little lower than visual reaction times for the same person. Outside the body, however, both tests are limited by the same two delays: the system's output delay, which is how quickly the screen changes or the speaker emits sound after the program asked it to, and the system's input delay, which is how quickly the keyboard, mouse, or touch event reaches the program after your finger moved.
The Reaction Time Test tool described here is a visual test, not an audio one. It does not emit a tone, and it does not measure your hearing. If you arrived searching for an audio reaction time test and want to use this browser tool, you should expect a green-panel visual trial instead of a beep. To see how those two ideas compare in practice, the Audio Reaction Time Test Accuracy: A Visual Reality Check guide walks through the visual-versus-audio gap in more depth.
How the browser tool turns a visual signal into a millisecond
The Reaction Time Test keeps the timer work in your browser and the state in the current tab. Each trial follows the same four-step pipeline, which is what makes the resulting number reproducible enough to compare across attempts.
- The page generates an integer wait between 1,500 and 4,000 milliseconds using Math.random, so the gap before the signal changes every trial.
- When that wait elapses, the page flips the panel to a ready state and records the moment with the performance.now monotonic clock inside the same callback that paints the change.
- Your press — pointer, Enter, or Space — triggers a second performance.now reading on the browser's input event.
- The displayed result is the non-negative difference between the two readings, rounded to the nearest whole millisecond.
Because the wait is randomized in a 1,500–4,000 ms window, the signal is not on a fixed rhythm. You cannot reliably predict when the panel will turn green from earlier trials. The page also rejects any press that arrives before the ready-state callback as a false start, which is why a Too soon message appears when you jump the gun. A deterministic test fixture for the golden path produces an exact 234 ms case, which proves the timing math rather than just trusting that the code is self-consistent.
Run the test step by step
- Open the Reaction Time Test page and keep the tab in the foreground so the browser does not throttle it.
- Select Start test and watch for the waiting message. Do not press anything during this phase — the wait is randomized between 1,500 and 4,000 ms, so the moment is not predictable.
- The instant the panel turns green and displays PRESS NOW, press the panel itself, or press Enter or Space while the panel is focused.
- Read the latest result that appears in milliseconds. This is your most recent trial only.
- Repeat the same procedure under the same device, browser, input method, window position, and display mode for at least five completed trials.
- Compare the last five results, the smallest value as best, and the rounded arithmetic mean as average.
- Select Reset all to cancel a pending trial or to clear every result when you want a fresh comparison window.
Reading the recent, best, and average values
The tool only retains the most recent five completed trials in the current tab. Anything older than that falls out of the visible window as soon as a sixth completed trial is added, which is why the summary reflects the present session rather than your entire history.
| Field | How it is calculated | What it tells you |
|---|---|---|
| Latest | Result of the most recent completed trial | How the last attempt compared to the others |
| Best | Smallest value among the five retained trials | Your fastest non-negative reading in the visible window |
| Average | Arithmetic mean of the five retained trials, rounded to the nearest ms | A rough central tendency for the visible window |
| Too soon | Press arrived before the ready-state callback | False start; no result was added to the window |
Because the average is the arithmetic mean of the five retained integer results, it can be computed by hand for a quick sanity check. If your last five trials were 245, 238, 251, 240, and 246 ms, the sum is 245 + 238 + 251 + 240 + 246 = 1,220 ms, and the rounded mean is 1,220 / 5 = 244 ms, which the page would display as 244. The best in that window would be 238.
What the score includes beyond your own response
The number on the screen is not a pure human reaction time. Several layers sit between the moment the page wants the signal to appear and the moment your finger moved, and each of them can add or subtract milliseconds from the final reading.
- Display refresh and pixel response. The green state is painted during a browser callback, but the actual pixel emission waits for the next refresh on the panel's hardware.
- Compositor scheduling. The browser may batch, defer, or composite the visual change with other work, depending on the engine and current load.
- Browser task timing. The JavaScript event loop decides when the ready-state callback actually runs, and performance.now measures that moment.
- Operating-system input handling. The OS dispatches pointer and keyboard events through its own queues, which the browser then receives.
- Input-device transport. A wired keyboard, a wireless mouse, a Bluetooth peripheral, or a trackpad each adds its own physical transport delay.
- Event dispatch. Once the event reaches the page, the listener records a second performance.now reading.
That is why the page describes itself as a browser timing utility rather than a calibrated hardware latency meter. JavaScript cannot observe the physical instant a finger moved, a switch closed, a wireless packet left a device, or a display pixel emitted green light. The tool is also clear that it does not test hearing, does not diagnose neurological conditions, does not assess fitness to drive, and does not certify competitive performance.
Conditions that move your numbers around
If you want your numbers to be comparable, hold the environment steady. Several real-world factors can shift the score by tens of milliseconds between attempts.
| Condition | Direction of effect on the score | Why |
|---|---|---|
| Background tabs | Slower (higher ms) | Browsers throttle inactive tabs, which delays both the timer and the input event |
| Power-saving mode | Slower (higher ms) | CPU and display frequencies drop, extending refresh and scheduling |
| High CPU load | Slower (higher ms) | The event loop and compositor compete with other work |
| Remote-desktop or streamed sessions | Slower (higher ms) | The signal and the press both travel through an extra network hop |
| Variable refresh or pixel-shift modes | Variable | Display timing changes mid-trial |
| Wireless interference or low battery on input device | Slower or variable | Polling rate or transport delay fluctuates |
For a useful comparison, use the same device, browser, input method, window position, and display mode across attempts, and keep the tab foregrounded. Complete several trials rather than treating one outlier as a conclusion. If you compare mouse against keyboard, reset between the two groups and label the conditions outside the page, because the widget deliberately stores no experiment notes. The score does not apply age tables, percentile rankings, pass/fail labels, sports benchmarks, or medical thresholds, so any of those interpretations need a controlled protocol rather than this general utility.