Código da tecla F12 em JavaScript

Para F12, event.key é F12, event.code é F12 e o obsoleto keyCode é 123. Pressione qualquer tecla no Key Code Finder para ver os valores em tempo real.

Atualizado em

PropriedadeValor
event.keyF12
event.codeF12
event.keyCode / which (obsoleto)123

Como detectar o F12

document.addEventListener('keydown', (event) => {
  if (event.key === "F12") {
    // F12 was pressed
  }
});

Use event.key para reagir ao significado da tecla (ele segue o layout do teclado) e event.code para a posição física dela, por exemplo WASD em jogos. keyCode e which são obsoletos: ainda funcionam, mas seus valores variam entre navegadores e layouts.

Como os navegadores tratam o F12

O F12 abre as ferramentas de desenvolvedor na maioria dos navegadores e não é entregue de forma confiável às páginas.

No React

<input onKeyDown={(e) => { if (e.key === "F12") { /* … */ } }} />

Perguntas frequentes

Qual é o keyCode da tecla F12?
123. Porém ele é obsoleto: no código novo, use event.key (“F12”) ou event.code (F12).
Qual é a diferença entre event.key e event.code?
event.key é o caractere ou a ação que a tecla produz com o layout atual; event.code é a posição física da tecla, igual em todos os layouts.
Devo usar keydown ou keypress?
keydown. O evento keypress é obsoleto e não dispara para teclas que não produzem caracteres, como Escape ou as setas.