Keyboard Test — Check Every Key Online
This keyboard tester shows a full layout and lights up each key as you press it, so a dead key, a sticky key or a wrong character is easy to spot. Every key you press is also listed with its code, count and last-press time.
Quick answer: Press every key on your keyboard one by one: each key lights up green on the layout and is added to the list below. Any key that never lights up, or lights up the wrong character, is a hardware or layout issue — press it a few times to separate a dead key from an intermittent one.
| What it shows | Live key highlighting, press counter per key, plus the key code and physical position |
|---|---|
| Handles | Standard keys, function row, modifiers, numpad, and media/volume keys where the browser reports them |
| Cannot see | Keys the operating system reserves (Fn, some vendor keys, 'Windows' key combinations) — those never reach the browser |
| Privacy | Keys are processed in the page; nothing is uploaded or logged to a server |
How to run a complete keyboard test
Start at the top-left and work across each row, pressing every key once — including the modifiers, the numpad and the function row. Type into the page rather than an input field so every key is captured. Keys that matter in games (WASD, space, shift, ctrl) deserve a few extra presses: intermittent failures often show up as a key that registers four times out of five.
Why a key can work everywhere except the browser
Some keys are handled entirely by the operating system or the keyboard's own firmware: the Fn key, volume and brightness keys on many laptops, and any key that triggers a system action. Windows key combinations such as Win+L are also intercepted before any page sees them. If a key is silent here but works in another program, that is usually why — and it is not a fault.
When to use this test
- A key stopped responding, or only works when pressed hard
- You spilled something on the keyboard and want to map which keys survived
- You bought a used or refurbished keyboard and are doing a full function check
- A key types the wrong character and you want to see what the browser actually receives