Developer helper
Keyboard codes for Javascript
Use this reference to look up modern key codes, understand the subtle differences between numpad, function, and navigation keys, and experiment instantly with the tester beside the table.
Comprehensive key atlas
Every key below maps to the number that JavaScript reports via event.keyCode and event.which. The list covers navigation, alphanumerics, numpad keys, modifiers, and the printable symbols you hit most often.
- Shift, Control, Alt, and the Windows keys are normalized to the same labels browsers emit.
- Function keys and numpad shortcuts keep their dedicated slots for easier shortcut wiring.
- Use the tester to verify codes in your current browser before wiring automation or hotkeys.
| Key | Code | Key | Code | Key | Code |
|---|---|---|---|---|---|
| backspace | 8 | tab | 9 | enter | 13 |
| shift | 16 | ctrl | 17 | alt | 18 |
| pause/break | 19 | caps lock | 20 | escape | 27 |
| 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 |
| 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 |
| 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 |
Live key tester
Press any key while the input is focused to see the keyCode that the browser reports and compare it to the table.
Key: —
Code: —
- Works for navigation, media, and modifier keys.
- Numbers and letters always match their standard ASCII codes.
- Use the code in your JavaScript
keydownlisteners to handle shortcuts.