Firefox Tomorrow

web api instance property

KeyboardEvent: charCode property

View on MDN ↗

The charCode read-only property of the KeyboardEvent interface returns the Unicode value of a character key pressed during a keypress event.

[!WARNING] Do not use this property, as it is deprecated. Instead, get the Unicode value of the character using the key property.

Value

A number that represents the Unicode value of the character key that was pressed.

Examples

HTML

<p>Type anything into the input box below to log a <code>charCode</code>.</p>
<input type="text" />
<p id="log"></p>

JavaScript

const input = document.querySelector("input");
const log = document.querySelector("#log");

input.addEventListener("keypress", (e) => {
  log.innerText = `Key pressed: ${String.fromCharCode(e.charCode)}\ncharCode: ${
    e.charCode
  }`;
});

Result

Interactive exampleOpen the canonical MDN source to run this embedded demo.

Notes

  • In a keypress event, the Unicode value of the key pressed is stored in either the keyCode or charCode property, but never both. If the key pressed generates a character (e.g., ‘a’), charCode is set to the code of that character; charCode respects the letter case (in other words, charCode takes into account whether the shift key is held down). Otherwise, the code of the pressed key is stored in keyCode.
  • charCode is never set in the keydown and keyup events. In these cases, keyCode is set instead.
  • To get the code of the key regardless of whether it was stored in keyCode or charCode, query the which property.
  • Characters entered through an Input method editor do not register through keyCode or charCode.
  • For a list of the charCode values associated with particular keys, run Displaying event object properties and view the resulting HTML table.

Specifications

SpecificationsStandards references are available on the canonical MDN page.

Browser compatibility

Browser compatibilityCompatibility data is available on the canonical MDN page.