← Back to Dev Tools

KeyCode Detector

Press any key — get event.key, event.code, keyCode & more. Click any value to copy.

press a key
Shift Ctrl Alt Meta CapsLock
event.key
click to copy
event.code
click to copy
keyCode legacy
click to copy
which legacy
click to copy
charCode legacy
click to copy
location
click to copy
Keys you press will appear here…
Snippet auto-fills with last pressed key

JavaScript Key Events — What's the Difference?

Not all key properties are equal. Here's what each one actually means and when to use it.

event.key — Use This

Returns the logical value of the key pressed: "a", "Enter", "ArrowLeft". It respects the user's keyboard layout and modifier keys (Shift turns "a" into "A"). This is the modern, recommended property.

event.code — Physical Location

Returns the physical key regardless of layout: "KeyA", "ShiftLeft", "Numpad0". Use this for game controls where you want WASD to stay WASD even on AZERTY keyboards. Layout-independent.

keyCode — Deprecated, but alive

Returns a numeric code like 65 for "A". Deprecated in the spec but still widely supported. Avoid in new code — use event.key instead. Some older game engines and jQuery code rely on it.

location — Left vs Right

Tells you where on the keyboard the key is: 0 = standard, 1 = left modifier, 2 = right modifier, 3 = numpad. Useful to distinguish ShiftLeft from ShiftRight when event.key returns the same "Shift" for both.