Grow your CSS skills. Land your dream job.

Last updated on:

keyCodes

As in, what keyboard events report based on what keys are pressed.

$("#textinput").keydown(function(e) {
    e.keyCode; // this value
});
Key Code
backspace 8
tab 9
enter 13
shift 16
ctrl 17
alt 18
pause/break 19
caps lock 20
escape 27
(space) 32
page up 33
page down 34
end 35
home 36
left arrow 37
up arrow 38
right arrow 39
down arrow 40
insert 45
delete 46
0 48
1 49
2 50
3 51
4 52
5 53
6 54
7 55
8 56
9 57
a 65
b 66
c 67
d 68
 
Key Code
e 69
f 70
g 71
h 72
i 73
j 74
k 75
l 76
m 77
n 78
o 79
p 80
q 81
r 82
s 83
t 84
u 85
v 86
w 87
x 88
y 89
z 90
left window key 91
right window key 92
select key 93
numpad 0 96
numpad 1 97
numpad 2 98
numpad 3 99
numpad 4 100
numpad 5 101
numpad 6 102
numpad 7 103
 
Key Code
numpad 8 104
numpad 9 105
multiply 106
add 107
subtract 109
decimal point 110
divide 111
f1 112
f2 113
f3 114
f4 115
f5 116
f6 117
f7 118
f8 119
f9 120
f10 121
f11 122
f12 123
num lock 144
scroll lock 145
semi-colon 186
equal sign 187
comma 188
dash 189
period 190
forward slash 191
grave accent 192
open bracket 219
back slash 220
close braket 221
single quote 222

Reference URL

Comments

  1. It is recommended by jQuery to use e.which over e.keyCode, as it gets normalised across all browsers.

    It also takes into account mouseus and mousedown.

    Not trying to be funny, just trying to help!!

    http://api.jquery.com/event.which/

  2. Permalink to comment#

    Great tip Chris, thanks for sharing !

    I never figured it is that simple to know keyCodes with jQuery.

  3. John Jimenez
    Permalink to comment#

    Here is a decent article (a little out of date) about keycode support and the events that trigger.
    I am not affiliated with the link at all, just something I came across the other day and it happens to work here as well.

    http://unixpapa.com/js/key.html

  4. JohnMotylJr
    Permalink to comment#

    Dang, im still using this:

    var code = (e.keyCode ? e.keyCode : e.which);
  5. James Larsson
    Permalink to comment#

    I found that the Apple command key is 224, which is not on this list.

  6. saurabh
    Permalink to comment#

    i want alt+q =keycode??

    • Mottie
      Permalink to comment#

      To detect that you’d need to look at the altKey value:

      if (event.altKey && event.which === 81) {
          // alt-q being used
      }
  7. Mottie
    Permalink to comment#

    @chriscoyier The table seems to be missing “space” with a event.which value of 32 :)

  8. Crystal
    Permalink to comment#

    What about the key codes for other languages?

  9. Veronica
    Permalink to comment#

    Just found out that, for event.which, only in FF, backspace is 8, and the arrow keys are 0. In Chrome, it doesn’t set a value for either.

Leave a Comment

Posting Code

  • Use Markdown, and it will escape the code for you, like `<div class="cool">`.
  • Use triple-backticks for blocks of code.
    ``` 
    <div>
      <h1>multi-line block of code</h1>
      <span>be cool yo.</span>
    </div>
    ```
  • Otherwise, escape your code, like <code>&lt;div class="cool"&gt;</code>. Markdown is just easier though.

Current ye@r *

*May or may not contain any actual "CSS" or "Tricks".