Keyboard Layout Detector
The diagram shows physical positions (labelled with US legends); your keyboard's own printing may differ. Press the key at the glowing position. Keystrokes are read locally and never leave your device.
How it works
仕組みThis detector figures out which keyboard layout your system is actually using (QWERTY, AZERTY, QWERTZ, Dvorak, Colemak, or Japanese JIS) by asking you to press a handful of physical key positions and comparing what characters come out. Browsers report both the physical position (code) and the produced character (key) of every keystroke, and the pattern of differences between them is a fingerprint of your layout. Since the answer depends on your OS settings and the keyboard actually plugged in right now, it can only be tested live on your machine.
Every keystroke carries two identities: e.code names the physical position (KeyQ is always the key right of Tab) and e.key names the character your layout assigns to it. The tool samples six telling positions and matches the resulting characters against known layout tables: on AZERTY the KeyQ position types “a”, on QWERTZ the KeyZ position types “y”, on JIS the key right of P types “@”.
Either your layout isn’t one of the six in the table (there are hundreds: Bépo, Workman, national variants), or a remapper such as Karabiner, AutoHotkey, or in-keyboard QMK firmware is rewriting keys before the browser sees them. The collected code→key table below the diagram still shows exactly what your setup produces, which is often the more useful answer.
Chromium browsers (Chrome and Edge) expose navigator.keyboard.getLayoutMap(), which lets a page ask the OS directly what character each physical key produces, no typing needed. Firefox and Safari don’t implement it, which is exactly why the press-the-keys method exists: it works everywhere.