Mac Keyboard Test

Press every key on the Mac-layout keyboard and check each one responds.

Mac-layout keyboard — press every key and check each one responds.
Num Lock Caps Lock Scroll Lock
Num
/
*
-
7
8
9
+
4
5
6
1
2
3
Enter
0
.

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.

LayerExample keysBrowser, not fullscreenBrowser, fullscreen
Browser shortcutsF5, Ctrl+S, BackspaceCan detectCan detect
Browser shortcuts (stubborn)Ctrl+T, Ctrl+N, F11 (partly)Cannot detectPartly detect
Operating-system levelCmd+Tab, brightness/volume/media F keysCannot detectCannot 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.