Skip to content
Work data is processed in your browser, not stored on our servers.
tools
Online Keyboard and Key Code Tester

Online Keyboard and Key Code Tester

Test current and previously pressed keys on Mac or Windows layouts and inspect key, code, keyCode, and location.

0 keys pressed
Esc
F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
F11
F12
`
1
2
3
4
5
6
7
8
9
0
-
=
Delete
Tab
Q
W
E
R
T
Y
U
I
O
P
[
]
\
Caps
A
S
D
F
G
H
J
K
L
;
'
Return
Shift
Z
X
C
V
B
N
M
,
.
/
Shift
Control
Option
Command
Space
Command
Option
↑
←
↓
→
Last input
Press any key. Keys that are not shown in the layout also appear here.

Press a key to see its details.

Key features

  • Switches between Mac and Windows display layouts.
  • Distinguishes currently held keys from keys pressed at least once.
  • Shows key, code, deprecated keyCode, and location for the latest event.
  • Reports key events in the details panel even when the key is absent from the visual layout.

How to use

  1. Choose the Mac or Windows layout closest to your keyboard.
  2. Press individual keys or combinations and watch their states.
  3. Inspect the event values and reset the accumulated history when needed.

Examples

  • Check key input

    Press keys and verify that their key, code, and pressed state reach the browser.

  • Inspect modifier combinations

    Review Shift, Ctrl, Alt, and Meta states together with the recent event log.

Privacy

Key events received while the page is active are displayed only in browser state; typed content is not stored or sent to a server.

Requirements

OS- or browser-reserved shortcuts and input while the page lacks focus may not be captured. The visual layout does not represent every physical keyboard model.

Common questions

Will every browser or operating-system shortcut appear?
No. Keys or combinations reserved and handled first by the browser or operating system might never reach the page.
Does it identify characters for every physical keyboard layout?
It shows KeyboardEvent key, physical code, repeat state, and modifiers. It does not diagnose the underlying cause of hardware faults.