ASCII Table
Complete 7-bit ASCII reference — decimal, hex, octal, binary, and character for all 128 codes.
How to Use
- Search by character, name, or code (decimal, hex, octal, or binary).
- Scroll to find control codes (0–31), printable characters (32–126), or DEL (127).
- Each row shows decimal, hex, octal, binary, and the character itself.
- Click any row to copy the character or code.
- For characters beyond 127, use Unicode references — ASCII covers only the basic Latin alphabet, digits, and punctuation.
Standard 7-bit ASCII — 128 codes. Codes 0–31 and 127 are control characters; 32–126 are printable.
Full table
| Dec | Hex | Oct | Bin | Char |
|---|---|---|---|---|
| 0 | 0x0 | 000 | 0000000 | NUL |
| 1 | 0x1 | 001 | 0000001 | SOH |
| 2 | 0x2 | 002 | 0000010 | STX |
| 3 | 0x3 | 003 | 0000011 | ETX |
| 4 | 0x4 | 004 | 0000100 | EOT |
| 5 | 0x5 | 005 | 0000101 | ENQ |
| 6 | 0x6 | 006 | 0000110 | ACK |
| 7 | 0x7 | 007 | 0000111 | BEL |
| 8 | 0x8 | 010 | 0001000 | BS |
| 9 | 0x9 | 011 | 0001001 | HT |
| 10 | 0xA | 012 | 0001010 | LF |
| 11 | 0xB | 013 | 0001011 | VT |
| 12 | 0xC | 014 | 0001100 | FF |
| 13 | 0xD | 015 | 0001101 | CR |
| 14 | 0xE | 016 | 0001110 | SO |
| 15 | 0xF | 017 | 0001111 | SI |
| 16 | 0x10 | 020 | 0010000 | DLE |
| 17 | 0x11 | 021 | 0010001 | DC1 |
| 18 | 0x12 | 022 | 0010010 | DC2 |
| 19 | 0x13 | 023 | 0010011 | DC3 |
| 20 | 0x14 | 024 | 0010100 | DC4 |
| 21 | 0x15 | 025 | 0010101 | NAK |
| 22 | 0x16 | 026 | 0010110 | SYN |
| 23 | 0x17 | 027 | 0010111 | ETB |
| 24 | 0x18 | 030 | 0011000 | CAN |
| 25 | 0x19 | 031 | 0011001 | EM |
| 26 | 0x1A | 032 | 0011010 | SUB |
| 27 | 0x1B | 033 | 0011011 | ESC |
| 28 | 0x1C | 034 | 0011100 | FS |
| 29 | 0x1D | 035 | 0011101 | GS |
| 30 | 0x1E | 036 | 0011110 | RS |
| 31 | 0x1F | 037 | 0011111 | US |
| 32 | 0x20 | 040 | 0100000 | SP (space) |
| 33 | 0x21 | 041 | 0100001 | ! |
| 34 | 0x22 | 042 | 0100010 | " |
| 35 | 0x23 | 043 | 0100011 | # |
| 36 | 0x24 | 044 | 0100100 | $ |
| 37 | 0x25 | 045 | 0100101 | % |
| 38 | 0x26 | 046 | 0100110 | & |
| 39 | 0x27 | 047 | 0100111 | ' |
| 40 | 0x28 | 050 | 0101000 | ( |
| 41 | 0x29 | 051 | 0101001 | ) |
| 42 | 0x2A | 052 | 0101010 | * |
| 43 | 0x2B | 053 | 0101011 | + |
| 44 | 0x2C | 054 | 0101100 | , |
| 45 | 0x2D | 055 | 0101101 | - |
| 46 | 0x2E | 056 | 0101110 | . |
| 47 | 0x2F | 057 | 0101111 | / |
| 48 | 0x30 | 060 | 0110000 | 0 |
| 49 | 0x31 | 061 | 0110001 | 1 |
| 50 | 0x32 | 062 | 0110010 | 2 |
| 51 | 0x33 | 063 | 0110011 | 3 |
| 52 | 0x34 | 064 | 0110100 | 4 |
| 53 | 0x35 | 065 | 0110101 | 5 |
| 54 | 0x36 | 066 | 0110110 | 6 |
| 55 | 0x37 | 067 | 0110111 | 7 |
| 56 | 0x38 | 070 | 0111000 | 8 |
| 57 | 0x39 | 071 | 0111001 | 9 |
| 58 | 0x3A | 072 | 0111010 | : |
| 59 | 0x3B | 073 | 0111011 | ; |
| 60 | 0x3C | 074 | 0111100 | < |
| 61 | 0x3D | 075 | 0111101 | = |
| 62 | 0x3E | 076 | 0111110 | > |
| 63 | 0x3F | 077 | 0111111 | ? |
| 64 | 0x40 | 100 | 1000000 | @ |
| 65 | 0x41 | 101 | 1000001 | A |
| 66 | 0x42 | 102 | 1000010 | B |
| 67 | 0x43 | 103 | 1000011 | C |
| 68 | 0x44 | 104 | 1000100 | D |
| 69 | 0x45 | 105 | 1000101 | E |
| 70 | 0x46 | 106 | 1000110 | F |
| 71 | 0x47 | 107 | 1000111 | G |
| 72 | 0x48 | 110 | 1001000 | H |
| 73 | 0x49 | 111 | 1001001 | I |
| 74 | 0x4A | 112 | 1001010 | J |
| 75 | 0x4B | 113 | 1001011 | K |
| 76 | 0x4C | 114 | 1001100 | L |
| 77 | 0x4D | 115 | 1001101 | M |
| 78 | 0x4E | 116 | 1001110 | N |
| 79 | 0x4F | 117 | 1001111 | O |
| 80 | 0x50 | 120 | 1010000 | P |
| 81 | 0x51 | 121 | 1010001 | Q |
| 82 | 0x52 | 122 | 1010010 | R |
| 83 | 0x53 | 123 | 1010011 | S |
| 84 | 0x54 | 124 | 1010100 | T |
| 85 | 0x55 | 125 | 1010101 | U |
| 86 | 0x56 | 126 | 1010110 | V |
| 87 | 0x57 | 127 | 1010111 | W |
| 88 | 0x58 | 130 | 1011000 | X |
| 89 | 0x59 | 131 | 1011001 | Y |
| 90 | 0x5A | 132 | 1011010 | Z |
| 91 | 0x5B | 133 | 1011011 | [ |
| 92 | 0x5C | 134 | 1011100 | \ |
| 93 | 0x5D | 135 | 1011101 | ] |
| 94 | 0x5E | 136 | 1011110 | ^ |
| 95 | 0x5F | 137 | 1011111 | _ |
| 96 | 0x60 | 140 | 1100000 | ` |
| 97 | 0x61 | 141 | 1100001 | a |
| 98 | 0x62 | 142 | 1100010 | b |
| 99 | 0x63 | 143 | 1100011 | c |
| 100 | 0x64 | 144 | 1100100 | d |
| 101 | 0x65 | 145 | 1100101 | e |
| 102 | 0x66 | 146 | 1100110 | f |
| 103 | 0x67 | 147 | 1100111 | g |
| 104 | 0x68 | 150 | 1101000 | h |
| 105 | 0x69 | 151 | 1101001 | i |
| 106 | 0x6A | 152 | 1101010 | j |
| 107 | 0x6B | 153 | 1101011 | k |
| 108 | 0x6C | 154 | 1101100 | l |
| 109 | 0x6D | 155 | 1101101 | m |
| 110 | 0x6E | 156 | 1101110 | n |
| 111 | 0x6F | 157 | 1101111 | o |
| 112 | 0x70 | 160 | 1110000 | p |
| 113 | 0x71 | 161 | 1110001 | q |
| 114 | 0x72 | 162 | 1110010 | r |
| 115 | 0x73 | 163 | 1110011 | s |
| 116 | 0x74 | 164 | 1110100 | t |
| 117 | 0x75 | 165 | 1110101 | u |
| 118 | 0x76 | 166 | 1110110 | v |
| 119 | 0x77 | 167 | 1110111 | w |
| 120 | 0x78 | 170 | 1111000 | x |
| 121 | 0x79 | 171 | 1111001 | y |
| 122 | 0x7A | 172 | 1111010 | z |
| 123 | 0x7B | 173 | 1111011 | { |
| 124 | 0x7C | 174 | 1111100 | | |
| 125 | 0x7D | 175 | 1111101 | } |
| 126 | 0x7E | 176 | 1111110 | ~ |
| 127 | 0x7F | 177 | 1111111 | DEL |
Notes
- Control codes 0–31 originally controlled teletypes; many are still used (CR=13, LF=10, TAB=9, NUL=0).
- Codes 128–255 depend on codepage — use UTF-8 for anything beyond ASCII.
Frequently Asked Questions
What is ASCII?
American Standard Code for Information Interchange — a 7-bit character encoding established in 1963 that maps numbers 0–127 to characters: digits, uppercase and lowercase Latin letters, common punctuation, and 33 control codes. It's the foundation of nearly every modern text encoding (UTF-8 includes ASCII as its first 128 code points unchanged), and underlies virtually every text protocol on the internet.
What are control codes?
Codes 0–31 and 127 are non-printing characters originally designed to control teletype machines and terminals. The most commonly seen today: <strong>NUL (0)</strong> string terminator in C; <strong>BEL (7)</strong> the terminal beep; <strong>BS (8)</strong> backspace; <strong>HT (9)</strong> tab; <strong>LF (10)</strong> line feed (Unix newline); <strong>CR (13)</strong> carriage return (paired with LF for Windows newlines); <strong>ESC (27)</strong> escape, the start of ANSI terminal codes; <strong>DEL (127)</strong> delete.
What's the difference between ASCII and Unicode?
ASCII is 128 characters in 7 bits. Unicode is over 149,000 characters across nearly 1.2 million possible code points. UTF-8 is the dominant encoding of Unicode and is backward-compatible with ASCII — the first 128 code points of UTF-8 are byte-for-byte identical to ASCII. So all ASCII text is valid UTF-8; the reverse isn't necessarily true.
Why do some characters take more bytes in UTF-8?
ASCII characters take 1 byte each. Most Latin-extended characters (é, ñ, ö) take 2. CJK characters (中, あ, 한) take 3. Emoji and rare symbols take 4. UTF-8 is a variable-length encoding — the first byte tells you how long the character is. This is why a string of 100 emoji takes 400 bytes.
What about codes 128–255?
Not part of ASCII proper. Various 8-bit extensions assign meaning differently: ISO-8859-1 (Latin-1) covers Western European characters; Windows-1252 is similar but adds smart quotes and em-dashes; KOI8-R covers Cyrillic. These 'extended ASCII' codepages are mostly obsolete — modern systems use Unicode and UTF-8 for everything beyond ASCII.
Why does Windows use CR+LF and Unix use LF?
Historical accident. Teletypes physically required two operations to start a new line: carriage return (move print head to left) and line feed (advance paper). Mac OS classic used CR alone; DEC and Unix used LF alone; Windows kept the original CR+LF. Modern git, editors, and terminals usually handle this transparently, but the difference still causes occasional cross-platform headaches.
Common Use Cases
Programming character lookups
Look up a character code quickly while debugging or writing low-level text-handling code.
Reading raw terminal output
Decode escape sequences (ESC, 27) and control codes when debugging terminal apps or shell scripts.
Designing data formats
Choose appropriate field separators (TAB, US, RS) for fixed- or delimited-format data files.
Reading hex dumps
Translate hex bytes to ASCII characters when inspecting binary files or network captures.
Network protocol analysis
Many internet protocols (HTTP, SMTP, IMAP, FTP) are ASCII-text-based; this is the lookup table for parsing them.
Teaching computing fundamentals
Show how characters become numbers become bytes — the foundational layer of all text on computers.
Last updated: