Mac Keyboard Test
Press every key on the Mac-layout keyboard and check each one responds.
Due to OS-level limits, some keys or combos may not register — this is neither a bug nor a fault of your keyboard. Learn why
On Mac (and some Windows laptops) the F1–F12 keys need a modifier key (e.g. Fn) to work — keep this in mind while testing.
About this test
This page renders the virtual keyboard in Mac layout — the bottom row follows the real Mac order, with ⌘ Command beside the spacebar and ⌥ Option outside it — ideal for checking a MacBook's built-in keyboard or an external board hooked up to a Mac.
How it works: the browser's KeyboardEvent.code identifies the physical key position, not the character it produces. No matter which input method is active, each keycap lights by position, and the Num / Caps / Scroll indicators read the real lock states via getModifierState.
How to test: press every key from top-left to bottom-right. If the on-screen keycap lights up and shows a press count, the key is healthy; re-test any dark keys a few times to rule out a dead switch. All data stays in your browser.
Test principle: why some keys never light up
A key travels from your finger to the screen through two gates — whatever stops it may be the system, the browser or a driver, not necessarily a "broken key".
Gate A — the system / driver layer: macOS maps F1–F12 to system shortcuts (brightness / volume / media) by default and takes them over before they reach the browser. To test the F keys, press fn + F1…F12, or enable "Use F1, F2, etc. keys as standard function keys" in System Settings > Keyboard. Third-party software and driver remapping also live in this layer — a web page cannot stop them.
Gate B — the browser layer: e.g. F5 refresh, Ctrl+W close tab — whether the browser runs its own default action on top of the key. In fullscreen mode on Chromium (Chrome / Edge) a few more keys register, but still not all — OS-level keys like macOS brightness / volume / media F keys or Cmd+Tab cannot be reached by any web page, fullscreen or not.
Only when every gate lets a key through does it reach the page completely, and the tester can detect that it was pressed. So if some keys do not respond, there is no need to worry — it may not be your keyboard at all. We are also preparing a local desktop app to help you test more thoroughly.
| Layer | Example keys | Browser, not fullscreen | Browser, fullscreen |
|---|---|---|---|
| Browser shortcuts | F5, Ctrl+S, Backspace | Can detect | Can detect |
| Browser shortcuts (stubborn) | Ctrl+T, Ctrl+N, F11 (partly) | Cannot detect | Partly detect |
| Operating-system level | Cmd+Tab, brightness/volume/media F keys | Cannot detect | Cannot detect |
Frequently asked questions
Why do some keys not respond?
Cmd+Tab, brightness, volume and media keys are handled by macOS itself, so the page never sees those events — that is normal. Letters, digits and most of the F-row all register fine.
Can I test a Windows keyboard on this page?
Yes. Detection is based on physical key position (KeyboardEvent.code), not the legend on the keycap. A Windows keyboard lights up key by key the same way — only the printed labels differ from the Mac layout.
Do I need to install anything?
No. Everything runs locally in your browser — open the page and start pressing keys. Nothing you type is ever uploaded.