キーコード確認ツール(JavaScriptのkey・code・keyCode)
押したキーのevent.key・event.code・keyCode・修飾キー・locationをその場で表示。ショートカット判定のコード例、イベントの履歴、同時押しの確認、日本語入力の変換中(keyCode 229・isComposing)や変換・無変換・英数・かなキーなどJIS配列の値まで確かめられます。
このエリアを選んでいる間は、Tab 以外のキーの動作(スクロールや再読み込みなど)を止めて値を表示します。Ctrl + W など、ブラウザが止めさせないキーもあります。
日本語入力の変換中やスマホの画面キーボードでの値を確かめるときは、ここに入力します。composition・input のイベントも履歴に残ります。
最後に押したキー(keydown)
まだキーが押されていません。
押しているキー: なし
同時に押したキーの最大: 0個
これまでに押したキー: 0種類
イベントの履歴
新しい順に最大40件。押しっぱなしの自動リピートは1行にまとめて回数を表示します。
履歴はまだありません。
キーの値の一覧
keyCode は Chrome・Edge・Safari で US 配列のときの値です。code はキーボードの配列にかかわらず US 配列の位置の名前で、key が実際に入力される文字です。
118件
| キー | key | code | keyCode |
|---|---|---|---|
| Enter | "Enter" | Enter | 13 |
| Tab | "Tab" | Tab | 9 |
| Esc | "Escape" | Escape | 27 |
| スペース | " " | Space | 32 |
| Backspace | "Backspace" | Backspace | 8 |
| Delete | "Delete" | Delete | 46 |
| Insert | "Insert" | Insert | 45 |
| Print Screen | "PrintScreen" | PrintScreen | 44 |
| Pause | "Pause" | Pause | 19 |
| アプリケーションキー | "ContextMenu" | ContextMenu | 93 |
| ← | "ArrowLeft" | ArrowLeft | 37 |
| ↑ | "ArrowUp" | ArrowUp | 38 |
| → | "ArrowRight" | ArrowRight | 39 |
| ↓ | "ArrowDown" | ArrowDown | 40 |
| Home | "Home" | Home | 36 |
| End | "End" | End | 35 |
| Page Up | "PageUp" | PageUp | 33 |
| Page Down | "PageDown" | PageDown | 34 |
| 左Shift | "Shift" | ShiftLeft | 16 |
| 右Shift | "Shift" | ShiftRight | 16 |
| 左Ctrl | "Control" | ControlLeft | 17 |
| 右Ctrl | "Control" | ControlRight | 17 |
| 左Alt・Option | "Alt" | AltLeft | 18 |
| 右Alt・Option | "Alt" | AltRight | 18 |
| 左Windows・⌘ | "Meta" | MetaLeft | 91環境により 224 など |
| 右Windows・⌘ | "Meta" | MetaRight | —92・93・224 など環境で異なる |
| Caps Lock | "CapsLock" | CapsLock | 20 |
| Num Lock | "NumLock" | NumLock | 144 |
| Scroll Lock | "ScrollLock" | ScrollLock | 145 |
| 半角/全角(JIS) | — | Backquote | —ブラウザ・OS・IMEの状態で変わる |
| 無変換(JIS) | "NonConvert" | NonConvert | —ブラウザ・OS・IMEの状態で変わる |
| 変換(JIS) | "Convert" | Convert | —ブラウザ・OS・IMEの状態で変わる |
| カタカナ/ひらがな(JIS) | — | KanaMode | —ブラウザ・OS・IMEの状態で変わる |
| 英数(Mac) | — | Lang2 | —ブラウザ・OS・IMEの状態で変わる |
| かな(Mac) | — | Lang1 | —ブラウザ・OS・IMEの状態で変わる |
| 英数(Windows の JIS) | — | CapsLock | —ブラウザ・OS・IMEの状態で変わる |
| ¥(JIS) | "¥" | IntlYen | —ブラウザ・OS・IMEの状態で変わる |
| \ ろ(JIS) | "\\" | IntlRo | —ブラウザ・OS・IMEの状態で変わる |
| ^ へ(JIS) | "^" | Equal | —ブラウザ・OS・IMEの状態で変わる |
| @ ゛(JIS) | "@" | BracketLeft | —ブラウザ・OS・IMEの状態で変わる |
| [ ゜(JIS) | "[" | BracketRight | —ブラウザ・OS・IMEの状態で変わる |
| : け(JIS) | ":" | Quote | —ブラウザ・OS・IMEの状態で変わる |
| ] む(JIS) | "]" | Backslash | —ブラウザ・OS・IMEの状態で変わる |
| - (US配列) | "-" | Minus | 189Firefox は 173 |
| = (US配列) | "=" | Equal | 187Firefox は 61 |
| ; (US配列) | ";" | Semicolon | 186Firefox は 59 |
| ' (US配列) | "'" | Quote | 222 |
| , (US配列) | "," | Comma | 188 |
| . (US配列) | "." | Period | 190 |
| / (US配列) | "/" | Slash | 191 |
| ` (US配列) | "`" | Backquote | 192 |
| [ (US配列) | "[" | BracketLeft | 219 |
| ] (US配列) | "]" | BracketRight | 221 |
| \ (US配列) | "\\" | Backslash | 220 |
| A | "a" | KeyA | 65 |
| B | "b" | KeyB | 66 |
| C | "c" | KeyC | 67 |
| D | "d" | KeyD | 68 |
| E | "e" | KeyE | 69 |
| F | "f" | KeyF | 70 |
| G | "g" | KeyG | 71 |
| H | "h" | KeyH | 72 |
| I | "i" | KeyI | 73 |
| J | "j" | KeyJ | 74 |
| K | "k" | KeyK | 75 |
| L | "l" | KeyL | 76 |
| M | "m" | KeyM | 77 |
| N | "n" | KeyN | 78 |
| O | "o" | KeyO | 79 |
| P | "p" | KeyP | 80 |
| Q | "q" | KeyQ | 81 |
| R | "r" | KeyR | 82 |
| S | "s" | KeyS | 83 |
| T | "t" | KeyT | 84 |
| U | "u" | KeyU | 85 |
| V | "v" | KeyV | 86 |
| W | "w" | KeyW | 87 |
| X | "x" | KeyX | 88 |
| Y | "y" | KeyY | 89 |
| Z | "z" | KeyZ | 90 |
| 0 | "0" | Digit0 | 48 |
| 1 | "1" | Digit1 | 49 |
| 2 | "2" | Digit2 | 50 |
| 3 | "3" | Digit3 | 51 |
| 4 | "4" | Digit4 | 52 |
| 5 | "5" | Digit5 | 53 |
| 6 | "6" | Digit6 | 54 |
| 7 | "7" | Digit7 | 55 |
| 8 | "8" | Digit8 | 56 |
| 9 | "9" | Digit9 | 57 |
| F1 | "F1" | F1 | 112 |
| F2 | "F2" | F2 | 113 |
| F3 | "F3" | F3 | 114 |
| F4 | "F4" | F4 | 115 |
| F5 | "F5" | F5 | 116 |
| F6 | "F6" | F6 | 117 |
| F7 | "F7" | F7 | 118 |
| F8 | "F8" | F8 | 119 |
| F9 | "F9" | F9 | 120 |
| F10 | "F10" | F10 | 121 |
| F11 | "F11" | F11 | 122 |
| F12 | "F12" | F12 | 123 |
| テンキー 0 | "0" | Numpad0 | 96 |
| テンキー 1 | "1" | Numpad1 | 97 |
| テンキー 2 | "2" | Numpad2 | 98 |
| テンキー 3 | "3" | Numpad3 | 99 |
| テンキー 4 | "4" | Numpad4 | 100 |
| テンキー 5 | "5" | Numpad5 | 101 |
| テンキー 6 | "6" | Numpad6 | 102 |
| テンキー 7 | "7" | Numpad7 | 103 |
| テンキー 8 | "8" | Numpad8 | 104 |
| テンキー 9 | "9" | Numpad9 | 105 |
| テンキー * | "*" | NumpadMultiply | 106 |
| テンキー + | "+" | NumpadAdd | 107 |
| テンキー - | "-" | NumpadSubtract | 109 |
| テンキー . | "." | NumpadDecimal | 110 |
| テンキー / | "/" | NumpadDivide | 111 |
| テンキー Enter | "Enter" | NumpadEnter | 13 |
使い方
- 「キーを押すエリア」をクリックするか、Tab キーで選びます
- 調べたいキーを押します。
event.key・event.code・keyCodeなどの値と、Ctrl + Shift + Zのようなショートカット表記がすぐに表示されます - 「判定するコード」で
event.key(入力される文字)とevent.code(キーの位置)のどちらで判定するかを選び、コード例をコピーします - 日本語入力の変換中やスマホの画面キーボードの値を見るときは、「IME・スマホのキーボードで試す入力欄」に入力します
- 押した順の記録は「イベントの履歴」に残り、TSVでコピーして表計算ソフトに貼り付けられます
エリアの図は、押したキーを event.code の位置で示します。押している間は塗りつぶし、最後に押したキーは太い枠、それまでに押したキーは薄い色で残るので、キーボードのキーを1つずつ押して反応を確かめるときにも使えます。event.code は US 配列の位置の名前なので、JIS 配列で「@」を押すと BracketLeft の位置に印が付きます。図の下の「図の配列」で JIS と US を切り替えられます(日本語のページは JIS、英語のページは US から始まります)。「図の印を消す」を押すと、薄い色と太い枠の印が消え、「これまでに押したキー」の数(event.code ごとに数え、図にないキーも含みます)も0に戻ります。テンキー、選んだ配列にないキー(US の図での ¥ など)、Mac の「英数」「かな」キー(Lang2・Lang1)、event.code が空のキーは図に示せないので、図の下にそう表示します。Mac の Caps Lock は、オンにしたときに keydown、オフにしたときに keyup が届くことがあり、その場合はエリアを選んでいる間、ロックがかかっているあいだ押している印のままになることがあります。
エリアを選んでいる間は、Tab 以外のキーのブラウザの動作(スペースでのスクロール、F5 での再読み込みなど)を止めて値だけを表示します。Tab を押すと次の項目へ移れます。押したキーや入力した文字はブラウザの外へ送信されず、保存もされません。
表示される値
- event.key: 入力される文字か、キーの名前です。
aとShiftを押しながらのAは別の値になり、日本語配列と US 配列でも変わります。スペースは" "(空白1文字)です - event.code: キーボード上の位置の名前です。配列や Shift にかかわらず、A の位置のキーは常に
KeyAです。名前は US 配列の位置で付いているので、JIS 配列の「@」キーはBracketLeftになります - event.keyCode / event.which: 古い数値のコードです。非推奨で、ブラウザや配列によって値が違うことがありますが、古いコードを読むときのために表示します
- event.location: 左右に同じキーがあるときの区別です。0 は標準、1 は左、2 は右、3 はテンキーです
- 修飾キー:
ctrlKey・shiftKey・altKey・metaKey(Windows キーや Mac の ⌘)が押されていたかどうかです - ロックキーの状態:
getModifierState()で読んだ Caps Lock と Num Lock のオン・オフです - isComposing: 日本語入力などで変換の途中だったかどうかです
判定するコードの例
Ctrl と Shift を押しながら Z を押し、「event.key(入力される文字)」を選ぶと、次のようなコードが表示されます。
document.addEventListener("keydown", (event) => {
// IMEで変換中のキーは無視する
if (event.isComposing || event.keyCode === 229) return;
if (event.key === "Z" && event.ctrlKey && !event.altKey && event.shiftKey && !event.metaKey) {
event.preventDefault();
// ここに処理を書く
}
});
4つの修飾キーすべての有無を書き出すので、Z の判定が Ctrl + Z で動いたり、Ctrl + Z の判定が Ctrl + Shift + Z でも動いたりすることを防げます(修飾キーそのものを押したときは、キーの名前だけで判定します)。Shift を押すと event.key は大文字の "Z" になる点に注意してください。
- event.key で判定する: 「? キーでヘルプを開く」のように、入力される文字に意味があるとき。配列が違っても、同じ文字が入力されれば一致します。ただしコード例は押したときの修飾キーの組み合わせも判定します。ドイツ語配列の
@は AltGr + Q で入力するなど、配列によって同じ文字の組み合わせが変わるので、文字だけで判定したいときは修飾キーの条件を消してください - event.code で判定する: ゲームの WASD 移動のように、キーの位置に意味があるとき。日本語配列でも US 配列でも同じ位置のキーで動きます
日本語入力とJIS配列のキー
- 変換中のキー(keyCode 229): 日本語入力で変換を確定する Enter は、
keyCodeが 229 で届き、多くのブラウザではisComposingもtrueです。ブラウザによってはisComposingがfalseのまま届くことがあるので、Enter で送信するフォームが変換の確定で送信されてしまう不具合は、どちらか一方に当てはまれば除外する形で防ぎます。入力欄で試すと、compositionstartからcompositionendまでの順番も履歴で確かめられます - 変換・無変換・カタカナ/ひらがな:
event.codeはそれぞれConvert・NonConvert・KanaModeです - 半角/全角:
event.codeは US 配列の同じ位置のBackquoteです。event.keyはブラウザやIMEの状態で変わります - ¥ と \ ろ: US 配列にないキーで、
event.codeはIntlYenとIntlRoです - Mac の英数・かな: 仕様では
event.codeがLang2(英数)とLang1(かな)です - Windows の英数: JIS 配列では Caps Lock と同じ位置のキーで、
event.codeはCapsLockです
これらのキーの keyCode はブラウザ・OS・IMEの状態で違うので、一覧では「—」にしています。実際に押して確かめてください。
FAQ
keyCode はもう使わないほうがいいですか?
はい。keyCode と which は非推奨で、記号のキーではブラウザによって値が違います(たとえば ; は Chrome で 186、Firefox で 59)。新しく書くコードでは event.key か event.code を使ってください。例外として、IMEの変換中を見分ける keyCode === 229 は、isComposing が false のまま届くブラウザがあるため、併用がすすめられています。
押しても何も表示されないキーがあります
Ctrl + W(タブを閉じる)や Ctrl + Tab などは、ブラウザやOSがページより先に処理するので、ページにイベントが届きません。Mac の Fn キーも、多くの場合は単独のイベントになりません。
スマホで key が Unidentified になります
Android などの画面キーボードは、文字が確定するまで key を Unidentified、keyCode を 229 にして送ることが多いためです。入力された文字は input イベントの data で読めます。「IME・スマホのキーボードで試す入力欄」で入力すると、履歴の input の行に表示されます。
キーボードが壊れていないかの確認にも使えますか?
使えます。キーを押して値が表示されれば、そのキーの信号はブラウザまで届いています。エリアの図では押したことのあるキーに薄い色が残るので、まだ押していないキーが一目で分かります。「押しているキー」と図の塗りつぶしで同時に押したキーを確かめ、「同時に押したキーの最大」で何個まで同時に認識されるかも見られます。ただし、OSやブラウザが先に処理するキーは表示されません。
keypress イベントは表示されませんか?
表示しません。keypress は非推奨で、文字を入力しないキーでは発生しないなどブラウザの差が大きいためです。文字の入力を扱うときは input イベント(beforeinput)を使うのが現在のやり方です。
- 種別
- ユーティリティ
- カテゴリ
- 開発者向け
- タグ
- keyboard
- keycode
- javascript
- keyboard-event
- shortcut
- ime
- developer
関連アプリ

カラーコード変換ツール
HEX・RGB・HSL のカラーコードを相互に変換し、HSV・CMYK・OKLCH の表記も表示。カラーピッカーやプレビューで確認でき、白・黒や指定した文字色とのコントラスト比(WCAG)も分かります。

XML整形・圧縮ツール
1行につながったXMLを、字下げをつけた読みやすい形に整形します。字下げはスペース2つ・4つ・タブから選べ、1行に圧縮することもできます。タグの閉じ忘れなどの誤りは、行と位置を示します。XPathの式で要素や属性を抜き出すこともできます。ブラウザ内で完結。

chmod計算ツール(パーミッション変換)
Linux・macOS のファイルのパーミッションを、755 のような数値と rwxr-xr-x のような記号のあいだで変換します。r・w・x のマスを押して読み取り・書き込み・実行を選ぶと、chmod コマンドがその場でできあがります。setuid・setgid・スティッキービットにも対応し、umask から新しいファイルとディレクトリの権限も出せます。


