░▒▓ ASCII KEYBOARD MAP ▓▒░
Every key on your keyboard, mapped to its ASCII code. Hover a key, click to pin it — or just start typing and watch your real keystrokes light up below.
── HOW A KEYPRESS BECOMES AN ASCII CODE────────────────────────────────────────────────────────
Your keyboard doesn't actually send ASCII. Each key press transmits a scancode — a hardware identifier for the physical key. The operating system runs that scancode through your keyboard layout to decide which character it means, and only then does the character get encoded as ASCII (or, today, UTF-8 — which uses the exact same bytes for all 128 ASCII characters).
That's why the same physical key can produce Q on a QWERTY layout and A on AZERTY, and why modifier keys like Shift and Ctrl have no ASCII codes of their own — they don't produce characters, they change what other keys produce.
── CONTROL CHARACTERS YOU CAN TYPE────────────────────────────────────────────────────────
Holding Ctrl and pressing a letter produces ASCII codes 1–26 — the control characters. In a terminal these are live commands, and several everyday keys are secretly the same thing:
COMBODECCHARACTERWHAT IT DOES
Ctrl + C 3 ETX (end of text) Interrupts the running program in a terminal
Ctrl + D 4 EOT (end of transmission) Signals end-of-input; closes a shell
Ctrl + G 7 BEL (bell) Rings the terminal bell
Ctrl + H 8 BS (backspace) Same code the Backspace key sends
Ctrl + I 9 HT (horizontal tab) Identical to pressing Tab
Ctrl + J 10 LF (line feed) The Unix newline character
Ctrl + M 13 CR (carriage return) Identical to pressing Enter
Ctrl + Z 26 SUB (substitute) Suspends a process; end-of-file on Windows
Ctrl + [ 27 ESC (escape) Identical to pressing Esc — vim users know
── FAQ────────────────────────────────────────────────────────
[+] What is the ASCII code for the Enter key?
Enter sends 13 — CR, carriage return. But the "newline" stored in files is LF, code 10, on Unix and macOS; Windows uses the pair CR LF (13 10). This mismatch is why files sometimes gain ^M characters when they cross operating systems.
[+] Do the F1–F12 or Shift keys have ASCII codes?
No. ASCII only encodes characters, and those keys don't produce any. Function keys send scancodes (terminals represent them as multi-byte escape sequences starting with ESC, code 27), and modifiers like Shift, Ctrl, and Alt only change what other keys produce.
[+] How do I type a character by its ASCII code?
On Windows, hold Alt and type the decimal code on the numeric keypad: Alt+65 gives A, Alt+3 gives ♥. On macOS, use Ctrl+Cmd+Space for the character viewer, or hold a letter for accent variants. On Linux, Ctrl+Shift+U followed by the hex code works in most apps.
[+] Why do lowercase and uppercase letters differ by exactly 32?
By design. A is 65 (binary 1000001) and a is 97 (1100001) — the only difference is one bit. ASCII's authors aligned the cases 32 apart so hardware could switch case by flipping a single bit, which is also why the Shift key was cheap to implement in early terminals.
── RELATED TOOLS────────────────────────────────────────────────────────