Reaction Time Test
GeneratorsEverything runs locally in your browser — nothing is uploaded
The clock starts the instant it turns green, so the wait is randomised each time (1.2–3.5 s) — a fixed two-second wait would be testing your ability to count to two. Clicking early is recorded as a false start and kept out of the average.
Click the panel to start, wait for it to turn green, and click the instant it does — the milliseconds between the two are your result. Everything runs on your machine: no sign-up, no leaderboard. The wait is randomised every time (1.2–3.5 s). That is deliberate: with a fixed two-second wait you would be measuring your ability to count to two — the brain prepares in advance for a predictable interval, and the reading comes out far better than your real reaction. Randomising removes exactly that preparation, leaving the genuine see-then-react. ⚠️ This number includes your device’s latency, so it is only meaningful against yourself. Between the screen lighting up and the browser handing us the click there is the screen’s refresh cycle, the rendering pipeline, event dispatch, and the mouse or trackpad firmware. Together these are usually tens of milliseconds, and they change on different hardware or browsers. So there is no “you beat X% of people” here — that would need a representative norm dataset we do not have, and dressing a device-dependent number up as a ranking would be dishonest. ⚠️ False starts are counted separately and kept out of the average. Clicking early always yields a small number; mixing it in would flatter the result without having measured any reaction at all.
Features
- Timing starts the moment it turns green, aligned to the same frame that gets painted
- Measures the press (`pointerdown`), not the release — holding the button does not inflate the result
- The wait is randomised at 1.2–3.5 s every time, giving your brain nothing to prepare for
- False starts are counted separately and kept out of the average
- Results show best, median, average and spread — the median is immune to the one distracted attempt
- A three-level verdict badge (fast / typical / slow) so you can see where you landed at a glance
- Every valid reading listed in the order it happened, with the best highlighted — statistics alone cannot tell you whether you are steady or erratic
- Works with mouse and keyboard (Space / Enter); do not mix the two in one set
- A large, high-contrast panel, so touch input lands accurately
- Runs entirely on your machine: nothing is uploaded and there is no leaderboard
How to use
- Click the panel to start
- While it is red, hold still — clicking then is a false start
- Click the instant it turns green
- After a few tries, read the median and the spread rather than the single best
FAQ
- Why is the wait random instead of a fixed two seconds?
- A fixed two-second wait does not measure reaction speed. The brain is very good at exploiting a predictable interval: count to two, tense the finger, and the reading comes out well below your true reaction — that is measuring preparation. Randomise the wait and you cannot know when green arrives, so the result is genuinely see-then-react. That is also why there is no countdown and no progress hint here.
- My result is much slower than my friend’s. Am I slowing down?
- Not so fast — this number contains your device’s latency, so comparing across devices means nothing. Between the screen lighting up and the click reaching this page there is the refresh cycle, the rendering pipeline, event dispatch and the mouse or trackpad firmware, together usually tens of milliseconds; wireless mice, TV-sized displays and casting all add noticeably more. Two results from the same person are only comparable on the same device with the same input method. It is also why there is no percentile here: without a representative norm dataset, presenting a device-dependent number as a ranking would mislead people.
- Why does clicking early not count?
- Because that attempt measured nothing. There is no causal link between a false start and the moment it turns green — the number only reflects how early you guessed. Worse, it is always small, so folding it into the average would make the score look better and better while you optimise a number that means nothing. So a false start is counted separately and flagged, and the table only covers the valid attempts.
- Why the press rather than the release?
- Because the release measures how long you held the button. With `click`, holding the mouse for 150 milliseconds and then letting go adds a flat 150 ms to the result — that is your finger, not your reaction. So this listens for `pointerdown`, which fires the moment the button goes down. Touch behaves the same way: `pointerdown` arrives when the finger touches the screen, while `click` waits for the finger to lift.
Related tools
Online Stopwatch
GeneratorsA lap-timing stopwatch: Space to start or pause, L to lap, R to reset. Marks the fastest and slowest laps and keeps running in a background tab.
Meeting Speaker Timer
GeneratorsPaste a list of speakers and their minutes: it shows who is up and how long is left, beeps when time is up, and marks overtime without skipping ahead.
UUID Generator
GeneratorsGenerate a column of UUID v4, v7, ULID, NanoID or MongoDB ObjectId values, one per line, ready to paste into a spreadsheet. Runs in your browser.
Lorem Ipsum
GeneratorsGenerate placeholder text as Latin lorem ipsum, English sentences, Chinese or Japanese filler, in paragraphs, sentences or words — all in your browser.
Mock Data
GeneratorsDescribe your fields once and get realistic mock records, exportable as JSON, CSV, TSV, SQL, XML, YAML or TOML. All generated in your browser.
QR Code
GeneratorsGenerate QR codes for text, links, WiFi, contact cards or calendar events, with adjustable colours, downloadable as PNG or vector SVG.