Quick answers before you test
Input lag test or reaction test?
Both live here. The reaction bench measures your response through the whole input path; the browser-delay stage isolates how long the page took to see and paint an event.
Can a browser measure true click-to-photon latency?
No. It cannot see the USB stack, the GPU queue or the panel. The lab reports what the browser can timestamp and labels every number with that boundary.
Read about browser timing limits →Which number should I compare between devices?
Compare the median reaction and the pointer-to-frame median under identical conditions: same display, same browser, same tab, wired versus wireless. Ignore single best trials.
What the result actually measures
The reaction bench timestamps a painted stimulus and the first accepted keyboard, pointer or controller event. The delay stage records event-timestamp-to-handler and event-to-next-frame intervals. The repeat stage derives the operating-system key-repeat delay and rate. The controller stage counts distinct hardware timestamps per second. The identity stage reads USB vendor and product ids through WebHID with your permission.
Measurement boundary: Every value passes through the operating system, the browser scheduler and the display refresh. Wireless links, power saving, overlays, heavy tabs and high-refresh displays all change the numbers. Results compare devices and conditions; they do not certify hardware latency.
How to interpret the output
Median reaction
The center of your valid trials. Under 220 ms through a browser is quick; 220–280 ms is typical. False starts under 90 ms are excluded automatically.
Event → frame delay
Time from the device event to the next painted frame. Values near one frame interval are normal; repeated spikes point to main-thread load or overlays, not the device.
Controller update rate
Distinct hardware timestamps per second as the browser polls once per frame. A stable value near the refresh rate is expected; large gaps or low stability deserve a second sample.
Troubleshooting unexpected results
Reaction numbers jump between blocks
Fatigue and attention dominate reaction tests. Run three blocks, discard the first as warm-up and compare medians only.
Frame delays spike randomly
Close other tabs, disable browser extensions and overlays, connect to power and retest. Compare a second browser before blaming the device.
Device identification does nothing
WebHID requires a Chromium-based desktop browser and a top-level page. Some keyboards expose only protected interfaces that the operating system will not share.
Frequently asked questions
Is this an input lag test for my monitor?
Not directly. Display latency is part of the reaction path, so switching monitors changes the reaction median, but the lab cannot isolate the panel from the rest of the chain.
Why is my controller rate capped near my refresh rate?
Browsers poll gamepads once per animation frame. A 1000 Hz controller therefore reads close to 60, 120 or 144 Hz depending on the display; use stability and gaps to compare devices.
Does the device identity stage upload anything?
No. The vendor and product ids are read locally after you pick a device in the browser dialog, and they appear only in the copyable report on this page.
Can a chatbot give me these numbers?
No. Reaction time, event delay and update rate are measured from your hardware in your browser. They cannot be answered from general knowledge.