Nivel inicial5 min de lectura · Publicado el

Códigos de teclas para eventos en JavaScript

Códigos de teclas en JavaScript: event.code es la tecla física, "KeyA"; event.key, lo que suena, "a"; keyCode 65, obsoleto. Usa key o code, no keyCoderubentejera.com Akey = "a"la notakeyCode 65code = "KeyA"la tecla
Como un piano: event.code es la posición de la tecla ("KeyA") y event.key, la nota que suena ("a"). Si cambia la distribución del teclado, la tecla sigue en su sitio pero suena otra cosa. keyCode está obsoleto.

La versión de 2018 de este artículo enlazaba dos tablas de códigos numéricos de teclas. Una de ellas, la de yoelprogramador.com, ya no responde. La otra, keycode.info, ahora redirige a Toptal y sigue funcionando: pulsas una tecla y te enseña sus valores. Es como un afinador: no hace falta saberse los valores de memoria, basta con pulsar y leer.

Lo que sí ha cambiado es qué valor conviene usar.

key, code y keyCode

Piensa en un teclado como un piano. code es la posición de la tecla en el piano; key es la nota que suena. Si alguien cambia la afinación (la distribución del teclado), la tecla sigue en el mismo sitio, pero suena otra nota.

Propiedad Qué te dice Ejemplo al pulsar A ¿Se usa hoy?
event.key El carácter o la acción "a" (o "A" con Shift) Sí
event.code La tecla física "KeyA" Sí
event.keyCode Un número que depende del navegador 65 No, obsoleto
event.which Igual que keyCode 65 No, obsoleto

Usa key cuando te importa lo que escribe la persona, por ejemplo Enter para enviar un formulario. Usa code cuando te importa la posición, por ejemplo las teclas W A S D de un juego, que en un teclado francés están en otro sitio pero deben mover igual.

document.addEventListener('keydown', (event) => {
  if (event.key === 'Enter') {
    console.log('Enviar');           // lo que la persona quiere hacer
  }
  if (event.code === 'KeyW') {
    console.log('Avanzar');          // la tecla física, sea cual sea la distribución
  }
});

Valores habituales

Tecla event.key event.code keyCode antiguo
Enter "Enter" "Enter" 13
Esc "Escape" "Escape" 27
Espacio " " "Space" 32
Tab "Tab" "Tab" 9
Retroceso "Backspace" "Backspace" 8
↑ ↓ ← → "ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight" Igual que key 38, 40, 37, 39
Shift "Shift" "ShiftLeft" o "ShiftRight" 16
Ctrl "Control" "ControlLeft" o "ControlRight" 17
1 (fila superior) "1" "Digit1" 49

La columna de keyCode está para que reconozcas el código antiguo cuando lo encuentres, no para que lo escribas.

Dónde consultar el resto

Recurso Para qué Idioma
JavaScript Key Code Event Tool (antes keycode.info) Pulsar una tecla y ver sus valores al momento Inglés
Valores de key en MDN La lista completa de nombres de teclas especiales ("PageDown", "F5", "Delete"…) Inglés
Valores de code en MDN Qué code envía cada tecla física en cada sistema operativo Inglés

Si encuentras keyCode en código heredado, cámbialo por key o code y comprueba el resultado con la herramienta de Toptal antes de dar el cambio por bueno.

Para combinaciones como Ctrl + S, comprueba event.ctrlKey (o event.metaKey en Mac) junto con event.key === 's'. Si te interesan los atajos de un editor, tienes los de IntelliJ IDEA.

Fuentes

Comprobado el 7 de noviembre de 2026: