Snaplytics JS Tests

Keyboard Latency Test

Click the box below and press keys. Each keystroke is timed from when your system delivers it to when the page handles it — a live readout in milliseconds, with the average, jitter, and a distribution graph.

Ready
ms

Click here, then press any key

Click the box and press keys to measure — a physical keyboard gives the cleanest readings.

Press more keys to build the latency distribution
Best
Average
Max
Jitter
Mix up your presses

Single taps, quick bursts, different keys. Holding a key doesn’t count — auto-repeat comes from the OS.

Watch the jitter

A steady 5 ms beats readings bouncing between 1 and 20. The tighter the spike, the more predictable your input.

What’s being timed

From your system delivering the keystroke to the page handling it. Switch, scan, and radio delays happen earlier, out of a browser’s view.

Keyboard latency is the delay between pressing a key and the computer acting on it. Every keystroke crosses a chain of small delays — the switch settles, the keyboard scans its matrix, the connection carries the report, and the OS queues the event before your app sees it. Each link adds only milliseconds, but they stack: on a bad setup keys land late in games and fast typing feels detached from the screen. This test times the tail end of that chain, locally in your browser — no app to install.

Your operating system stamps each keystroke with the time it arrived and hands it to the browser; the test compares that against the moment the page actually handles the event. So each press measures how quickly your machine moved one keystroke through the input pipeline — a couple of milliseconds on a healthy system, longer under a loaded CPU, a busy browser, or a power-saving laptop. Held keys are ignored after the first press, since auto-repeat is generated by the OS on a timer. Press a mix of keys, in single taps and quick bursts, until the histogram settles.

What counts as a good result?

On a wired keyboard and an idle system, most presses should process in under 5 ms, in a tight histogram spike — consistency matters as much as the average, since jitter is what makes input feel unpredictable. Averages above 15–20 ms, or a long straggling tail, usually point at a struggling system: a tab-heavy browser, thermal throttling, power saving, or a flaky wireless link. Remember the browser only sees the software half of the chain — the switch, matrix scan, and radio delays happen before your computer hears about the keystroke, so this is not the full press-to-pixel lag. To check that every physical key registers, use the Keyboard Tester; to time your own reaction on top of the hardware, try the Input Lag Tester.

Where keyboard latency comes from

SourceTypical delayWhat you can do
Switch debounce1–10 ms — the firmware waits for the contact to stop bouncing before reportingGaming keyboards with optical or Hall-effect switches debounce in well under 1 ms
Matrix scan rate~1 ms — the controller sweeps the key grid on a fixed cycleNothing to tune; only a faster controller improves it
Wireless link2–15 ms on Bluetooth; near-wired on a 2.4 GHz dongleUse the cable or the dongle for latency-critical play; keep the dongle close
USB polling rate8 ms at the standard 125 Hz, 1 ms at 1000 HzGaming keyboards poll at 1000 Hz; plug straight into the PC, not a hub
OS input queue~1 ms normally, spiking when the CPU is peggedClose background hogs; disable keyboard filter/accessibility delays you do not use
Busy browser tabSpikes of tens of ms when the page or another tab hammers the CPUClose heavy tabs and extensions — this is the part this test sees directly

Related tools