Complete ASCII character code reference — decimal, hex, and binary.
| Dec | Hex | Oct | Binary | Char | Description |
|---|
Search by character, decimal code, or hex code to filter the table. Click any row to copy the character or code to your clipboard.
ASCII (American Standard Code for Information Interchange) is a character encoding standard developed in the 1960s. It defines 128 characters: 33 non-printing control characters (codes 0–31 and 127) and 95 printable characters including letters, digits, and punctuation (codes 32–126).
| Range | Type | Examples |
|---|---|---|
| 0–31 | Control characters | NUL, TAB, LF, CR, ESC |
| 32 | Space | (space) |
| 33–47 | Punctuation/symbols | ! " # $ % & ' ( ) * + , - . / |
| 48–57 | Digits | 0–9 |
| 58–64 | Punctuation/symbols | : ; < = > ? @ |
| 65–90 | Uppercase letters | A–Z |
| 91–96 | Punctuation/symbols | [ \ ] ^ _ ` |
| 97–122 | Lowercase letters | a–z |
| 123–126 | Punctuation/symbols | { | } ~ |
| 127 | Control (DEL) | Delete |
Beyond the 128 standard ASCII characters, various extended ASCII encodings (ISO-8859-1, Windows-1252) define characters 128–255 for accented letters and special symbols. These are not standardised — the same code may map to different characters depending on the encoding. Unicode (UTF-8) has largely replaced extended ASCII for modern text encoding.
Codes 0 to 31 are control characters — non-printing instructions inherited from the teletype era. A few are still everywhere: 9 is Tab, 10 is Line Feed, 13 is Carriage Return, and 27 is Escape, the code behind terminal colour sequences. Most of the rest survive only in legacy protocols.
Space is decimal 32, hexadecimal 20, binary 00100000 — the first printable character in the table, sitting between the control characters and the punctuation block. The DEL control character at 127 bookends the other side, which is why printable ASCII is defined as codes 32 through 126.
Not officially. Standard ASCII stops at 127; codes 128 to 255 belong to competing extended encodings such as ISO-8859-1 and Windows-1252, which assign different characters to the same numbers. That ambiguity is why modern systems use Unicode with UTF-8, which agrees with ASCII for the first 128 codes.