The Reaction Time Test measures a single browser-side interval — the time between the page flipping its test panel to a green "PRESS NOW" state and the moment your click, Enter press, or Space press reaches the same tab — and reports it as a whole-millisecond difference rounded to the nearest integer. Each trial begins with a randomized 1,500 to 4,000 ms waiting period, which means you cannot predict the green signal from a fixed rhythm. Pressing before the panel turns green is treated as a false start: the pending timer is cancelled, no result is added, and the panel reports "Too soon" instead of a reaction time. The page keeps the latest five completed trials locally, displays a best and rounded average alongside the most recent result, and offers a Reset all control that clears every value. No login, no upload, no leaderboard, and no history persists after a reload.
If you specifically wanted an audio reaction time test — a beep instead of a green flash — this tool uses a visual cue. The "free, no sign-up, in your browser" promise still holds for this visual test. The Reaction Time Test gives an instrumented millisecond reading without installing software or creating a profile.

What this free, no-sign-up reaction time test measures
The number you see is not a single number — it is the browser's interval between its own ready-state callback and the input event the page receives. Inside the page, the signal moment is recorded with performance.now at the same callback that flips the panel to green, and the press moment is recorded with another performance.now reading when the browser delivers your click, Enter key, or Space key. The displayed result is the non-negative difference, rounded to the nearest whole millisecond.
Because the score is measured inside the browser, it includes more than human decision time. Display refresh, 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 reading on another device can therefore reflect the system as well as the person. The page deliberately discloses these layers so the number is interpreted honestly rather than treated as a pure reflex score.
Why "no sign-up" actually matters for an honest self-check
The Reaction Time Test does not request a login, upload any keypress data, identify your input hardware, save a leaderboard, or persist history after a reload. All timing state — pending timer, latest five results, best, and average — lives in the current tab. When you close the tab or refresh the page, the session is gone.
This matters for two practical reasons. First, the privacy guarantee is structural: there is no server-side account to leak, no shared leaderboard to game, and no keypress data leaves the page. Second, without an account, the tool has no incentive to nudge your score in any direction — there is no badge, no comparison table, and no "pass/fail" label. The only output is a number, a best, and an average, and those numbers are yours to interpret.
Run the test in your browser
You do not need to install anything, create an account, or grant permissions. The whole workflow happens on the page in front of you.
- Open the Reaction Time Test in your current tab and keep the test panel visible — do not cover it with another window.
- Select Start test, then leave the tab alone. The panel will display a waiting message while the page picks a fresh randomized delay between 1,500 and 4,000 ms.
- Press the panel, the Enter key, or the Space key the instant the panel turns green and shows PRESS NOW. The latest result appears in milliseconds.
- Repeat under the same device, browser, window position, and input method to gather a small sample. The page shows your last five completed trials, plus a best (the smallest value among them) and a rounded average.
- Use Reset all to cancel a pending trial or clear every retained result before starting a new batch.
If you press before the panel turns green, the trial is cancelled as a false start. The panel reports Too soon, no result is added, and any earlier completed trials stay visible. You can start another try immediately.
How the millisecond result is built inside the page
Each trial picks an integer wait using Math.random from 1,500 to 4,000 ms, schedules a state change with that delay, and lets the browser fire the change. The page records the signal timestamp at the same callback that flips the panel to green. Your subsequent press produces a second timestamp from performance.now, and the displayed result is the non-negative difference rounded to the nearest whole millisecond.
The deterministic test fixture proves a 234 ms golden path works exactly, but in everyday use the numbers will spread across a small range driven by the conditions described in the next section. A press during the waiting window is treated as too early, the pending timer is cancelled, and the trial produces no stored result. The retained history is bounded at five completed trials: when a sixth completes, the oldest one falls out and the summary is recomputed. For a deeper look at what each millisecond actually includes, see our visual reality check on reaction time accuracy.
| Stored field | Definition | Update rule |
|---|---|---|
| Latest | The most recent completed trial | Replaced every time a new trial completes |
| Last five | A bounded list of completed trial results | Oldest entry dropped when a sixth trial is added |
| Best | The smallest value among the last five completed trials | Recomputed after every completed trial |
| Average | Arithmetic mean of the last five, rounded to the nearest ms | Recomputed after every completed trial |
Conditions that can shift your score between attempts
Because the score includes the system as well as the person, several conditions can move the number up or down between attempts. The page deliberately keeps the test minimal so you can hold most variables constant yourself.
- Browser focus: background tabs, power-saving modes, and high CPU load can slow or stretch the signal-to-event interval.
- Display and refresh: variable refresh behavior, remote-desktop software, and streamed browser sessions add latency that does not exist on a foregrounded local tab.
- Input path: the control accepts pointer presses as well as the Enter or Space key, so you can compare a mouse or trackpad against a keyboard. The page does not claim those paths are physically equivalent — they each go through different browser-delivered event channels.
- Wireless conditions: a Bluetooth mouse or wireless keyboard can introduce transport jitter that a wired device does not.
- Operator behavior: pressing before the green signal is a false start and produces no result at all, so an early tap never shows up as a slow millisecond reading.
| Comparison | What changes | Effect on the score |
|---|---|---|
| Foreground vs background tab | Browser throttling and timer drift | Background readings can stretch unpredictably |
| Local browser vs remote or streamed session | End-to-end input and render delay | Streamed readings almost always look slower |
| Wired vs wireless input | Transport jitter | Wireless paths add small but visible variance |
| Mouse click vs Enter or Space | Different browser event channels | Both are accepted; the page does not rank them |
For a fair comparison across sessions, hold the same device, same browser, same window position, same display mode, and same input method constant. Complete several trials rather than treating a single outlier as a conclusion, and reset between groups if you switch input methods. The widget deliberately stores no experiment notes, so label your conditions outside the page.
What this tool does not claim to measure
The page is an informal browser timing utility, not a calibrated hardware latency meter or a clinical instrument. 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, so the tool does not isolate human response from display latency, device transport, switch behavior, or health conditions.
The page does not apply age tables, percentile rankings, pass or fail labels, sports benchmarks, medical thresholds, or claims about alertness. It does not test hearing, diagnose neurological conditions, assess fitness to drive, recommend training, or certify competitive performance. If safety, health, employment, accessibility, or purchasing decisions depend on a reaction-time measurement, use an appropriate controlled instrument and qualified guidance instead.
The honest mental model is this: the Reaction Time Test is a free, no-sign-up way to compare your own signal-to-event timing across repeated trials on the same device, using the same input method, in the same browser session. For an audio-specific test, you would need a separate instrumented auditory tool; this page is its visual sibling.
Related reading: Dead Pixel Test for Laptop Screens: Run a Visual Check.