Key codes·KeyW
w
KeyW
keyCode 87

KeyW key code — keyCode 87

Letters

KeyW has keyCode 87 and key "w", at location 0.

The position is fixed as KeyA. Even when a Hangul ㅁ is typed, the code is still KeyA.

code (position)
KeyW
key (US layout)
"w"
With Shift
"W"
keyCode (deprecated)
87
Hexadecimal
0x57
location
0 · Standard
Types a character
Yes
Shares keyCode with
None

In code

Comparing against code keeps working when the layout changes.

window.addEventListener('keydown', e => {
  if (e.code === 'KeyW') {
    // w
  }
});

code versus key

code is the physical position, the same on a Korean or French keyboard. key is what gets typed and changes — the same spot gives a, A or ㅁ. Use code to ask which spot was pressed, key to ask what was entered.

keyCode has been dropped from the standard. Write new code against code or key; the numbers here are for reading old code.

Keys of the same kind

How to read this

  • code is the position, key is the character typed. Match on code for shortcuts.
  • keyCode is deprecated; use it only to read old code.
  • Left and right Shift share a keyCode and are told apart by location.
  • The 1 on the number row and the 1 on the numpad are different keys — 49 and 97.

Frequently asked questions

Q. What is the keyCode for KeyW?

87, or 0x57 in hexadecimal.

Q. How do I match KeyW in code?

Compare with e.code === 'KeyW'. Matching on keyCode wobbles between browsers and layouts.

Q. What is this key's location?

0.

Q. Does this key type a character?

Yes — key is "w", and "W" with Shift held.