Measurement methodology
How the reaction test measures time
ReactionTest.net measures the interval between a cue generated by the page and the first valid response received by the browser. The result is a browser-and-device measurement: human perception and movement are combined with the delay introduced by the display, audio path, operating system, browser, and input device.
Timing clock
The test records cue and response timestamps with performance.now(). The W3C High Resolution Time specification defines this as a monotonic clock, so elapsed-time calculations are not changed by normal system-clock corrections. Browsers may reduce precision for security, and the API cannot remove hardware or operating-system latency.
Attempt sequence
- The visitor starts an attempt through a pointer, touch, Space, or Enter action.
- The page waits for a randomized interval so the exact cue time is harder to predict.
- The visual cue changes, the tone is scheduled, or the motorsport-style lights go out.
- The cue timestamp is recorded with
performance.now(). - The first valid response timestamp is recorded and the difference is rounded to milliseconds.
- An input received before the cue is marked “too soon” and is not included in the session statistics.
Session statistics
The main test reports the latest valid attempt, arithmetic mean, fastest attempt, median, slowest attempt, and population standard deviation for the current set. The dedicated visual, audio, and motorsport-style pages use five valid attempts and report latest, mean, and best. No visitor is assigned a population percentile because ReactionTest.net does not currently operate a calibrated, representative comparison dataset.
| Metric | Purpose | Important limitation |
|---|---|---|
| Average | Summarizes the complete set | Can be raised by a lapse or device stall |
| Median | Shows the middle valid attempt | Still includes device latency |
| Best | Shows the fastest recorded attempt | Most vulnerable to anticipation |
| Standard deviation | Describes within-session variation | A small set is not a long-term reliability study |
Mode-specific limits
Visual
A display can show the cue only on a refresh. Panel response, refresh rate, compositing, and pointer or touch processing all affect the recorded value. A controlled study by Woods and colleagues found meaningful hardware and software differences between computerized simple-reaction setups.
Audio
The timer can start when the page schedules a tone, but the visitor hears that tone only after the browser, operating system, output device, and any wireless codec process it. Audio and visual values therefore should not be compared as if cue delivery were equally calibrated.
Motorsport-style lights
This mode is a game inspired by start lights. It is not FIA timing equipment and does not reproduce an official Formula One start system. World Athletics’ less-than-0.100-second start-information threshold applies to athletics starts; we cite it only as an official example of how anticipation is handled in another sport.
Data and privacy
Current score history is stored in local browser storage so it can be shown on the same device. The visitor can clear it or export it as CSV. Reaction scores are not sent to a ReactionTest.net results database, and no account is required. Third-party advertising or analytics, if configured, are covered separately in the privacy policy.
Primary and official references
- W3C High Resolution Time specification
- MDN documentation for
performance.now() - Woods et al. (2015), Factors influencing the latency of simple reaction time
- Basner, Mollicone & Dinges (2011), brief psychomotor vigilance testing and sleep loss
- Hanson, Whitaker & Heron (2009), cross-modal reaction time under divided attention
- World Athletics Competition and Technical Rules — 2026 Edition
Change policy
The method page is updated when timing logic, summary formulas, storage behavior, or major source interpretation changes. Corrections can be sent to contact@reactiontest.net with the relevant URL and supporting source.