Skip to content

Keyboard Tester Online — Test Keys, Detect Stuck or Broken Keys

Last verified May 2026 — runs in your browser

Keyboard Tester Online — Test Every Key, Detect Stuck or Broken Keys

Press any key and the page reports back four things at once — the readable `key` value ("a", "Enter", "ArrowUp"), the layout-independent `code` value ("KeyA", "Enter", "ArrowUp" — same on QWERTY, AZERTY, Dvorak), the legacy `keyCode` number (still useful for older code paths), and the physical key location (standard, left, right, numpad). The active modifiers (Ctrl, Shift, Alt, Meta) appear together so you can confirm a chord registered correctly, and a rolling history of the last 20 events lets you spot a key that double-fires, fails to release, or is being intercepted by a global shortcut. Use it to diagnose a stuck key on a fresh laptop, audit a new mechanical keyboard for ghosting under N-key rollover, troubleshoot a non-Latin layout that's mapping the wrong glyph to a physical key, or just figure out which `code` value to listen for in your own JavaScript.

About this tool

The page binds `keydown` and `keyup` listeners on `window` with `event.preventDefault()` so no key combination accidentally triggers browser shortcuts (Ctrl+W, F11, Escape on full-screen) while you're testing. The displayed values come straight from KeyboardEvent: `e.key` for the printable/named character, `e.code` for the layout-independent physical position, `e.keyCode` for legacy compatibility, `e.location` for left/right/numpad/standard, plus `e.ctrlKey/shiftKey/altKey/metaKey` for modifiers. The pressed-keys set tracks every code currently held down (keydown adds, keyup removes) so you can see exactly which physical keys are firing simultaneously — useful for testing the rollover capacity of a gaming keyboard. The history is capped at 20 entries to keep memory bounded for fast typists. Use cases: warranty-claim evidence for a sticky/dead key, picking the right `code` constant for a JavaScript keyboard shortcut, validating that a new layout (US-International, Spanish, Programmer Dvorak) maps as expected, or debugging an event handler that mis-fires on AltGr.

  • Live readout of key, code, keyCode, location, and modifiers per keypress
  • Pressed-keys set tracks every key currently held down (test rollover)
  • Rolling history of the last 20 events with timestamp
  • Modifier tracking: Ctrl, Shift, Alt, Meta (Cmd on macOS, Win on Windows)
  • Location detection: standard, left, right, numpad
  • preventDefault stops the browser eating Ctrl+W, F11, Escape during testing
  • Layout-independent — works identically on QWERTY, AZERTY, Dvorak, Spanish
  • Useful for warranty evidence on dead/stuck/double-firing keys
  • Tests N-key rollover on gaming keyboards (count keys you can hold at once)
  • Helps pick the right `e.code` constant when writing keyboard shortcuts

Free. No signup. Your inputs stay in your browser. Ads via Google AdSense (consent required).