Tool
Keyboard Latency Test
Measure end-to-end keyboard response time — from a paint frame to your keydown event firing in JavaScript. Five random-delay trials, averaged. Honest about what the number includes.
5-trial latency test
Wait for the prompt, then press any key as fast as you can. Repeats 5 times. Press too early and that trial is restarted.
What this actually measures. Browsers cannot read hardware-level key latency from JavaScript. What you see is the time between a known paint frame and the keydown event firing in JS, which includes your browser’s render queue, the OS event loop, and the page’s handler latency. Typical results in a modern browser: 30–80 ms; gaming-quality input chains hit 15–25 ms. For true hardware measurement you need a high-speed camera or a dedicated latency rig.
How it works
Each trial follows the same pattern. The panel waits a random 1.5–3.5 seconds, then paints a “NOW” prompt. The moment the paint commits, we capture a high-resolution timestamp with performance.now(). When your keydown event fires, we capture another. The difference is the latency for that trial. Five trials are averaged so a single twitchy outlier does not dominate the result.
What this measures.The number you see includes (a) your reaction time after seeing the prompt, (b) the OS event-loop latency from key press to browser process, (c) the browser’s event dispatch to the page, and (d) the JS handler latency before our timestamp lands. That is roughly the chain you feel when interacting with any website.
What this does NOT measure.True hardware latency. The path from a physical switch closure, through the keyboard’s firmware and USB poll, into the OS, requires high-speed-camera measurement or a dedicated latency rig. Browser tools that claim to measure pure hardware latency are overselling.
Related tools
Frequently asked
What is a good latency score?
Typical modern browsers and keyboards: 30–80 ms. Gaming-quality input chains (high polling rate keyboard, high refresh display, low system load): 15–25 ms. If your number is consistently above 120 ms, your reaction time is dominating the measurement — the chain itself is much faster than that.
Why are my trials so different from each other?
Two sources of variance — your reaction time (varies trial to trial by 50+ ms easily) and the browser’s rendering pipeline (sometimes paint commits between frames, sometimes it just missed a vsync and waits 16 ms for the next one). The five-trial average smooths most of it; the standard-deviation readout shows how spiky your run was.
Will closing other tabs help?
Yes, measurably. Background tabs that animate, run analytics, or load heavy JS contend for the main thread, which can delay keydown event dispatch. Closing tabs and disabling extensions usually drops the average by 10–20 ms.
Does monitor refresh rate matter?
For the visual half, yes — a 60 Hz monitor can add up to 16 ms of waiting for the next frame before the prompt appears. A 144 Hz monitor cuts that to 7 ms. The keydown half is monitor-independent.
Last reviewed