The Reaction Time Test on Android measures a single browser interval from the moment a panel turns green and shows "PRESS NOW" to the moment your press reaches the page, with each result shown in whole milliseconds. People often search this way because audio-style reaction tests are a familiar idea, but the in-tab version that actually works reliably on a phone uses a visible color change that the same in-page clock can flip and time. Each round waits a randomized 1,500 to 4,000 milliseconds after you tap Start so the signal cannot be predicted from a fixed rhythm. Pressing the panel, the Enter key, or the Space key all count as a press, which makes it easy to compare a fingertap with the on-screen keyboard on the same phone. False starts, meaning any press while the wait message is still showing, cancel the trial and write no result, while earlier completed trials stay on screen. The page keeps your last five completed results in the tab, shows the most recent, the smallest, and the rounded average for that window, and never uploads anything. Refreshing clears every number, there is no leaderboard, and no login runs in the background. The number you see contains more than your reaction: display refresh, compositor scheduling, browser task timing, operating system input handling, and the input transport between your finger and the page all contribute.

What the Reaction Time Test Measures in Your Browser
The page times one precise interval: the gap between the ready-state callback that flips the panel and the press event that the browser delivers to the script. Both timestamps come from the same performance.now reading inside the page, and the displayed result is the non-negative difference rounded to the nearest whole millisecond. Because both timestamps come from a monotonic clock on the same script, the score is internally consistent across one browser session even when conditions around it shift.
A trial has three phases. First you tap Start. Then a randomized wait between 1,500 and 4,000 milliseconds runs. Then the panel changes from the waiting message to "PRESS NOW" with a green background. The wait is freshly randomized for every trial using Math.random so you cannot anticipate the signal from a fixed rhythm. If you press during the wait, the pending timer is cancelled, the trial writes no result, and the panel reports "Too soon." False starts do not erase earlier completed trials, so a slip in trial three still leaves trials one and two visible.
The page keeps only the last five completed trials in your current tab. From those it shows the most recent score, the smallest score (best), and the rounded arithmetic mean (average). Older trials fall out as new ones come in, which keeps the summary scoped to the visible recent window. Reset all cancels a pending trial and clears every retained result, so a tap of that button before the green signal both stops the trial and wipes prior scores.
Set Up Your Android Browser First
Treat the test like a small measurement session rather than a quick game. A few setup choices on Android make a meaningful difference between accurate comparison and noisy drift, and the same setup should be reused for every trial you want to compare.
Use a current version of Chrome, Firefox, Samsung Internet, or whichever Android browser you trust, opened in the foreground. The test should not run in a background tab, and you should not have system power saving, low power mode, or aggressive battery optimization enabled for that browser. Anything that throttles CPU or display refresh while the tab sits open will stretch your numbers in ways that have nothing to do with your reaction. A near-fully charged battery also helps avoid thermal throttling across a full session of five trials.
Position the phone in the same place for every trial. Lock the orientation, sit at the same viewing angle, and keep the screen brightness at one level. Brightness changes can affect display timing on some devices, and changes in viewing angle can change the panel's perceived color even though the underlying signal does not change. Pick the input method you plan to test and stay with it across the five trials: either fingertip taps on the green panel or the on-screen keyboard with Enter or Space while the page is focused. Mixing inputs in one summary will compare pointer versus key transport, which are different event paths in the browser.
You do not need to install an app, allow microphone access, grant notifications, or sign in for the page to work. The tool does not identify hardware, request a login, or upload presses. If the browser shows a permission prompt, decline it and the test still runs.
Run the Audio Reaction Time Test on Android
The following steps reproduce the verified workflow on an Android phone. They assume you have already opened the test in a foreground tab and removed power-saving throttling for that browser.
- Tap Start test and keep the panel visible without tapping it.
- Wait without pressing while the panel shows the waiting message. The wait is randomized between 1,500 and 4,000 milliseconds, so watch the panel rather than counting in your head.
- Tap the panel, or press Enter or Space while the page is focused, the instant the panel turns green and displays PRESS NOW. A press while the panel is still waiting registers as a false start, cancels the pending trial, and writes no score.
- Note the millisecond result that appears. Repeat under the same device conditions (orientation, brightness, input method, foreground tab) to fill the five-trial window.
- Read the local summary to compare your last five completed results: the most recent millisecond score, the best (smallest) score, and the rounded average of the five.
- Tap Reset all when you want to clear every result and start a fresh window. Reset all also cancels a pending trial if you tap it before the green signal.
Read Your Results and What the Number Contains
The millisecond reading is precise but not narrow. The page reports the time from its own ready-state callback to the press event it receives, which means the number contains a chain of system layers between your fingertip and the script. Knowing what is in the score keeps you from drawing the wrong conclusion from any single trial.
| Layer | What it can add to the number |
|---|---|
| Display refresh and compositor | One frame at the panel flip plus scheduling delay |
| Browser task timing | Time between the timer firing and the DOM update |
| Operating system input handling | Time from kernel event to browser dispatch |
| Touch or keyboard transport | Sensor sampling, wireless or wired transit, debouncing |
| Event dispatch | Time from browser receipt to the script reading it |
The five-trial summary uses only completed results from your current tab. Best is the smallest value among those five, average is their rounded arithmetic mean, and the latest result appears at the top of the list. A trial that was cancelled as Too soon is excluded entirely, so a slip does not skew the average. The session summary uses simple arithmetic. For example, if your five completed trials read 234, 215, 198, 260, and 243 ms, the sum is 1,150 ms and the rounded average is 1,150 divided by 5, which equals 230 ms, with the best being 198 ms. Because every figure rounds to a whole millisecond before the math, the average is also reported as a whole number.
Why Conditions Change Your Android Score
The number on Android can shift across sessions for reasons that have nothing to do with you. Foregrounding the test, keeping the browser in the foreground, and running it on a cool, well-charged device keeps the noise small. Letting the test run in a background tab, in a power saving mode, under high CPU load from another app, or through a remote desktop or streaming session all change what arrives at the in-page clock. The shape of the shift is consistent, even when the exact size varies by device.
| Condition | Direction the number moves | Why |
|---|---|---|
| Background tab | Higher | Browser throttles timers and event loops |
| Battery saver on | Higher | CPU and refresh rate get capped |
| High CPU load on the device | Higher | Scheduled callbacks land later |
| Streaming or remote session | Variable and often much larger | Adds network and decoding delay |
| Variable refresh display | Less stable frame timing | Signal flip waits on the next frame |
Treat the score as a comparison rather than a verdict. A lower number on a different day might reflect a cooler phone or a fuller battery, not a faster person. The tool deliberately does not apply percentile rankings, sports benchmarks, or medical thresholds. Those interpretations require controlled protocols that this general browser utility does not provide. For a fair comparison, use the same device, browser, window position, orientation, brightness, and input method across every trial you intend to keep.
When a Browser Test Is Not Enough
The Reaction Time Test is an informal browser timing utility. It cannot isolate the human decision time from the system, because display refresh, compositor scheduling, browser task timing, operating system input handling, mouse or keyboard transport, wireless conditions, and event dispatch all share the millisecond count. It is also not a hearing test, a neurological diagnostic, an alertness or fitness assessment, a driving-readiness evaluation, a training prescription, or a competitive certification.
If your reason for testing involves medical decisions, employment screening, accessibility accommodations, sports classification, or hardware latency auditing, use an instrument designed for that purpose under qualified guidance. JavaScript in a tab 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 any system-level claim goes beyond what the page can actually prove.
For practical use, the Reaction Time Test is built to give you a fast, private, in-tab millisecond reading across your last five trials and to keep all timing state local to your browser. If you want a deeper look at what the score includes and what to set aside about it, the audio reaction time test accuracy reality check walks through the same point in more detail. If your goal is to compare sessions over time, keep the same device, browser, orientation, brightness, and input method across the five trials you keep on screen, then read best and average rather than any single value.