What a Browser Can and Cannot Measure
Start with the caveat, because most pages that call themselves a keyboard latency test get this wrong. A web page cannot measure your keyboard's hardware input lag. Real input lag is the time between your finger pressing the switch and the resulting change appearing on screen, and it accumulates across the switch actuation, the controller scan, the USB polling interval, the operating system input stack, the browser event loop, and finally the display. A browser only gets to see the last few of those, and it sees them through a timestamp the browser itself assigns. Measuring the whole chain needs a high-speed camera or a hardware probe.
What this page measures instead is real, useful, and clearly defined:
- Dwell time — how long each key stays down, from keydown to keyup. This is a property of your typing, not your keyboard, and it is the single best indicator of typing efficiency.
- Flight time — the gap between one key going down and the next. This is your rhythm, and the variability in it matters more than the average.
- Percentiles — the median tells you what is typical; the 95th percentile tells you about your worst moments, which is where inconsistency actually lives.
Why percentiles rather than an average: an average hides the thing you want to see. Two typists with identical average dwell times can behave completely differently — one steady, one alternating between very short and very long holds. The gap between your median and your 95th percentile is the number that exposes that. A median of 90ms with a p95 of 120ms is a smooth typist. The same median with a p95 of 300ms means something is stalling regularly, usually a specific finger or a specific key reach.
Type at least thirty keystrokes of ordinary text before reading anything into the numbers, and preferably a couple of hundred. Percentiles are meaningless on small samples: with ten data points, the 95th percentile is just the second-slowest one you happened to produce.
One more measurement note. Browsers deliberately coarsen their high-resolution timestamps to make fingerprinting harder — Firefox rounds to whole milliseconds without cross-origin isolation, Chrome to about a tenth of one. At the tens-to-hundreds of milliseconds this page reports, that rounding is irrelevant. It would matter a great deal if we were claiming to measure hardware latency, which is part of why we are not.
If it is a fault rather than timing you are chasing: keys registering twice belong in the double typing test, keys that will not release belong in the stuck key test, and dropped inputs under load belong in the ghosting test.