What is a keyboard tester and what does it show?
A keyboard tester is a page that listens for key events and shows what arrived. It answers one question: does the browser hear this physical key? If a key lights up here, the keyboard, its connection and the operating system all passed the press along. If it stays dark, the fault sits somewhere before the browser.
This keyboard key tester draws a full-size layout with a numeric keypad, or a tenkeyless or compact version. Each key lights while held, then keeps a lighter tint, so one sweep across the keyboard leaves a map of what worked. It works as a keyboard button tester for desktop and laptop keyboards alike, and as a keyboard tester online it needs no driver, app or account.
It reports more than pass or fail: keys tested out of the total, keys held now, hold time, the gap between presses, quick re-presses and a log of the last 30 key events.
How does this keyboard input tester read your keys?
It listens for the browser's keydown and keyup events and reads event.code, which names the physical key rather than the character it types. MDN explains that this value is not altered by the keyboard layout or the state of the modifier keys.
That is why the same spot on the drawing lights on a US, AZERTY or Dvorak keyboard: KeyQ is the key in the Q position, whatever letter is printed on it. As a keyboard input tester it also logs event.key, the character or name the key produced, so you can compare both.
| Column | Source | What it tells you |
|---|---|---|
| Key | event.key | The character or name produced, such as a, Shift or (space). |
| Code | event.code | The physical key, such as KeyA or ShiftLeft, whatever the layout. |
| Location | event.location | Standard, Left, Right or Numpad, so the two Shift keys and the keypad digits are told apart. |
| Repeat | event.repeat | Yes while a held key auto-repeats. Repeats are not counted as new presses. |
| Time (ms) | event.timeStamp | Milliseconds since the page loaded. The tester works from differences between values. |
How do I find a dead key with a keyboard key tester?
Press the key several times in the tester. If it never lights up and the log stays empty, the browser is not receiving it, which points to the key, the keyboard or the connection rather than to a website.
- Press the suspect key alone, firmly, five or six times, and watch the log.
- Press the neighbouring keys. A whole dark row or column suggests the keyboard's internal wiring rather than one switch.
- Check Other key codes seen. A key that lights up as a different code has been remapped by keyboard software or the operating system.
- Try another USB port or reconnect Bluetooth, then test again.
| What you see | Likely cause | What to try |
|---|---|---|
| Key never lights, log empty | Dead switch, debris or a broken connection | Clean around the key, try another port or cable, test on another computer |
| Key lights but types the wrong character | Layout setting or remapping, not hardware | Check the input language and any keyboard software |
| Laptop key works only with Fn | Fn layer handled by firmware | See the Fn section below |
Why does my keyboard double type or get stuck?
A key that types twice or keeps repeating shows up as either a quick re-press or a hold that never ends. The tester marks quick re-presses so you can tell a possible hardware fault from a deliberate double tap.
Quick re-press (keyboard double typing). When a key goes down again shortly after its keyup, its cap gets an amber outline and the log line is flagged. The threshold is 40 ms. That number is a heuristic chosen for this tool, not a standard, so treat a flag as a lead rather than a verdict.
Stuck key. A stuck key appears under Keys held right now with a timer that keeps counting. If the log shows a keydown and no keyup, the browser never learned the key was released.
- Normal auto-repeat: rows with repeat set to yes, paced by the operating system's repeat rate. Not a fault.
- Possible switch bounce: two keydown rows very close together, both with repeat set to no.
- Lost keyup: a key stays held with no keyup. A focus change such as Alt+Tab is a common cause, and the tester releases held keys when the window loses focus.
What is keyboard ghosting and how do I run a key rollover test?
Ghosting is when pressing several keys makes the keyboard miss a key or report one you did not press. Rollover is how many keys can be held at once and still be reported correctly. Hold keys together here to run a keyboard ghosting test and an n-key rollover test.
- Click Start testing, then hold
W,A,SandDtogether and read Most held at once. - Add
Space,ShiftandCtrlone at a time and watch that each new key lights. - Release the keys one by one. Every release should add a keyup row to the log.
- Repeat with the combinations you use in your games or shortcuts.
Read the number with care. It is the count that the keyboard, its connection, the operating system and the browser passed on together, and any of them can cap it. Many keyboards send a limited number of simultaneous keys, and wireless links can differ from cables. A low count is a reason to test again elsewhere, not proof of a fault.
Can a keyboard latency tester run in a browser?
Not in the sense most people mean. A web page can time the gaps between key events, but it cannot see when the key physically moved or how long the keyboard took to send the signal. So this page is not a keyboard latency tester for hardware. Every number here is browser event timing.
What it shows is still useful for typing patterns: hold time from keydown to keyup, and the gap between successive presses, both from event.timeStamp. MDN notes that browsers may reduce timestamp precision to limit fingerprinting. By default that rounding is about 0.1 ms in Chrome and 1 ms in Firefox and Safari.
- You can: compare your typing rhythm and spot a key held far longer than the rest.
- You cannot: measure scan rate, debounce time, USB polling or wireless delay, or compare small differences across browsers.
Why doesn't Fn, Print Screen or the Windows key show up?
Some keys never reach a web page because the keyboard or operating system handles them first. If Fn, Print Screen or the Windows key stays dark, that is usually normal and not a fault.
| Key or shortcut | What usually happens | What the tester shows |
|---|---|---|
| Fn | Handled in keyboard firmware or by the OS. MDN's key code tables note that on macOS it fires no events | Nothing |
| Windows or Cmd key alone | The OS opens a menu or runs a shortcut | Sometimes Meta lights, often with odd timing |
| Print Screen | The screenshot tool takes it; some systems send only a keyup, or nothing | A brief light or nothing |
| Ctrl+W, Ctrl+T, Ctrl+N | The browser reserves these shortcuts and acts on them | Nothing, and the tab may close or open |
The Keyboard Lock API lets a page ask for more keys while in fullscreen. MDN marks it experimental with limited availability, and it needs a secure context and a user gesture. It can only capture keys that the operating system allows. If your browser supports it, the Capture more keys (fullscreen) button tries it.
In the browser the Windows key is called Meta (MetaLeft, MetaRight), and on a Mac it is Cmd. Labels follow your choice; the codes stay the same.
Does the keyboard tester work on Mac, laptops and other layouts?
It is built on standard keyboard events, so it should work in current desktop browsers on Windows, macOS and Linux. Labels change to suit your system, and the key codes do not.
- Mac. Switch the labels to Mac to read Cmd, Option and Return. On macOS the browser often sends no keyup for keys pressed while Cmd is down, so the tester clears those keys when you release Cmd instead of showing them stuck.
- Laptops. With no keypad, choose Tenkeyless or Compact so the total matches your keys. Fn-layer keys such as brightness and volume may not reach the page.
- Non-US layouts. Extra keys, such as the one beside left Shift on ISO keyboards, appear under Other key codes rather than on the drawing.
- Phones and tablets. On-screen keyboards are not physical keys, and MDN says browsers only try to match physical codes, so results vary.
Do shortcut extensions change what a keyboard test shows?
They can. An extension with a keyboard shortcut listens for the same key events, and some extension shortcuts are handled by the browser before a page sees the key. If a key lights here but an extension shortcut fails, look for a conflict in the browser's extension shortcut settings. If the key stays dark here, no extension can fix it.
Keyboard-driven extensions such as Video Speed Controller depend on keys reaching the page, so run this test first when a hotkey seems dead. The CPS test has Spacebar and Any key modes if you want to measure how fast you press instead of whether keys work, and What's My Browser shows your browser version when you report a problem.