Key codes·ShiftLeft
Shift
ShiftLeft
keyCode 16

ShiftLeft key code — keyCode 16

Modifiers

ShiftLeft has keyCode 16 and key Shift, at location 1. It shares that number with ShiftRight.

They do nothing alone and ride on other keys. Left and right share one keyCode.

code (position)
ShiftLeft
key (US layout)
Shift
keyCode (deprecated)
16
Hexadecimal
0x10
location
1 · Left
Types a character
No
Shares keyCode with
ShiftRight

In code

Comparing against code keeps working when the layout changes.

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

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 ShiftLeft?

16, or 0x10 in hexadecimal.

Q. How do I match ShiftLeft in code?

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

Q. What is this key's location?

1. It shares a keyCode with ShiftRight, so you need this value to tell them apart.

Q. Does this key type a character?

No. key is Shift and nothing is entered.