Key codes·ArrowDown
ArrowDown
ArrowDown
keyCode 40

ArrowDown key code — keyCode 40

Navigation

ArrowDown has keyCode 40 and key ArrowDown, at location 0.

They type nothing and only move the cursor.

code (position)
ArrowDown
key (US layout)
ArrowDown
keyCode (deprecated)
40
Hexadecimal
0x28
location
0 · Standard
Types a character
No
Shares keyCode with
None

In code

Comparing against code keeps working when the layout changes.

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

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

40, or 0x28 in hexadecimal.

Q. How do I match ArrowDown in code?

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

Q. What is this key's location?

0.

Q. Does this key type a character?

No. key is ArrowDown and nothing is entered.