Audio reaction time test accuracy depends on defining when a sound begins and when a response is received, but Reaction Time Test measures a different, visual interval: from the browser callback that changes the test panel to its ready state until a pointer or keyboard event reaches the browser. It is defined as a visual trial, not an auditory test, and it does not measure an auditory stimulus, identify a hearing response, or separate human decision time from browser, operating-system, display, and input-device delays. Its millisecond score is therefore a measurement of one narrow, explicitly defined browser path, not a complete measure of hearing speed or pure human reaction time. For someone searching for an audio reaction time test, that distinction is the first accuracy question: the tool is appropriate for a visual green-signal test, not as evidence about an auditory stimulus. It creates a fresh randomized wait from 1,500 through 4,000 milliseconds, rejects presses made before the ready signal, records the interval between its signal and press timestamps, and keeps a small local summary. Use the Reaction Time Test when your practical question is, “How long does this browser take from its visual go state until it receives my press?” Do not treat its number as a calibrated audio latency measurement, a hearing test, or a diagnosis.

Audio and visual trials are different measurements
An audio reaction test would need a clearly defined time zero for the sound and a defined endpoint for the response. The sound must be presented in a controlled way, and the test must account for the path between the browser, operating system, audio output, listener, and input device. None of those requirements is part of the Reaction Time Test contract. The tool uses a panel transition as its signal: the panel turns green and displays PRESS NOW. It does not define an acoustic event for the user to hear.
This makes the tool useful for comparing visual browser-delivered trials, especially when you keep the conditions consistent. It cannot tell you how quickly someone would respond to a tone, whether an audio output device delivered a sound at a particular instant, or whether a hearing-related delay exists. Those are different questions requiring a different measurement setup. The green panel gives the browser a visible change that it can timestamp internally; the page does not claim that the change represents the instant a physical display pixel became visible to a person.
Choose the test that matches the question
- Use Reaction Time Test for a visual signal-to-press measurement in a browser.
- Do not use it to infer hearing speed, auditory processing, or sound-output latency.
- For an audio-specific question, choose a test that defines the stimulus, its onset, the response endpoint, and the device conditions.
The important accuracy issue is not whether a millisecond value looks precise. It is whether the value measures the event you actually care about. A precise timestamp for the wrong type of event does not become an audio reaction result.
What the millisecond result includes
The tool has a deliberately narrow timing boundary. After Start test begins a trial, the page chooses a fresh randomized waiting period. When the waiting period ends, the panel changes to the green ready state and the same callback records the signal time with performance.now. A later press causes another performance.now reading. The displayed result is the non-negative difference between those readings, rounded to the nearest whole millisecond. In formula terms, the result is max(0, round(press-signal)).
The changing delay matters because a fixed rhythm can be anticipated. With a fresh randomized wait from 1,500 through 4,000 milliseconds for each completed trial, the user cannot rely on pressing at a predictable interval. The wait makes a simple rhythm-based shortcut harder, although it does not remove every source of human anticipation or system delay.
The implementation also tests defined edge cases. Its test coverage includes both delay endpoints, invalid random inputs, false starts, bounded history, summary validation, and a deterministic fixture for an exact 234 millisecond case. That fixture verifies a known timing path in the software. It does not turn the browser utility into a calibrated hardware latency meter or a measurement of an acoustic event.
| Stage | Verified behavior |
|---|---|
| Waiting | Each trial receives a fresh randomized wait from 1,500 through 4,000 milliseconds. |
| Signal | The panel turns green and displays PRESS NOW; the ready-state callback records performance.now. |
| Press | The control accepts a pointer press, Enter, or Space while the control is focused. |
| False start | A press before the green signal cancels the pending trial, reports Too soon, and adds no result. |
| Output | The result is a non-negative signal-to-press difference rounded to the nearest millisecond. |
Run a visual trial with Reaction Time Test
The workflow has three deliberate actions. Keep the panel visible and use the same device, browser, window position, display mode, and input method for the repetitions you plan to compare.
- Select Start test. Keep the panel visible and wait without pressing while it displays the waiting message.
- Press the panel, Enter, or Space as soon as the panel turns green and displays PRESS NOW.
- Repeat under the same device conditions to compare the last five completed trials, the best value, and the average value. Select Reset all when you want to cancel a pending trial and clear every result.
A false start is treated differently from a completed trial. If the panel reports Too soon, no reaction result is added, and earlier completed history remains available. Start another try to continue. Reset all clears every stored result when you want a clean session.
Read the latest, best, and average correctly
The latest completed result appears in milliseconds. The page retains the last five completed trials and calculates a summary for that short local session. Best means the smallest value among the five retained results. Average means their arithmetic mean rounded to the nearest millisecond. The summary is not a percentile, a pass or fail label, a sports benchmark, an alertness score, or a medical threshold.
Older results fall out after the fifth completed trial, so the displayed summary describes only the visible recent window. A false start does not alter the completed history, and a Reset all action clears that history. The widget does not store experiment notes, so write down conditions such as mouse versus keyboard outside the page if you need to remember them.
When comparing input methods, do not assume the browser paths are physically equivalent. The page can accept pointer presses and Enter or Space while focused, but it does not claim that those paths have the same device or transport behavior. Reset between groups and label the conditions yourself. This is especially important if you are trying to compare a local browser session with a remote or streamed session.
Control the conditions around each attempt
The score contains more than human decision time. Display refresh behavior, compositor scheduling, browser task timing, operating-system input handling, mouse or keyboard transport, wireless conditions, and event dispatch can all contribute. A faster or slower number on another device can reflect the system as well as the person responding. That is normal for a browser timing utility; it is not a defect in the basic millisecond calculation.
Several environmental factors can change the result:
- Background tabs can compete with the foreground task.
- Power-saving behavior can alter scheduling and input handling.
- High CPU load can affect browser callbacks and event delivery.
- Remote desktop software can add another processing path.
- Variable refresh behavior can affect how the visual change is presented.
Keep the browser foregrounded and repeat under similar conditions when comparing attempts. Use the same device, input method, browser, window position, and display mode. Avoid comparing a foreground local browser with a streamed or remote session unless end-to-end system delay is the intended subject. A single outlier is not a conclusion; complete several trials under the same conditions and look at the recent summary as a whole.
Know the boundary between a comparison and a diagnosis
Reaction Time Test is not 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 browser can time its own ready-state callback and the press event it receives, but it cannot isolate every physical layer between those points.
The same boundary applies to interpretation. The tool does not test hearing, diagnose neurological conditions, assess fitness to drive, recommend training, or certify competitive performance. It also does not apply age tables, percentile rankings, medical thresholds, or claims about alertness. A visual browser result can be a useful practice comparison, but it should not be presented as proof about health, safety, employment, accessibility, or purchasing decisions.
If a decision depends on reaction measurement, use an appropriate controlled instrument and qualified guidance. The Reaction Time Test has a simpler purpose: start a bounded randomized visual trial, reject an early press, time the browser signal-to-event interval, retain five completed non-negative integer results, and show the latest, best, and rounded average locally. Understanding that contract makes the accuracy claim much safer.
For a deeper look, see When Did They Start Tracking Time: From Sundials to Now.