ASCII Table

Complete 7-bit ASCII reference — decimal, hex, octal, binary, and character for all 128 codes.

Reference Reference Updated Apr 19, 2026
How to Use
  1. Search by character, name, or code (decimal, hex, octal, or binary).
  2. Scroll to find control codes (0–31), printable characters (32–126), or DEL (127).
  3. Each row shows decimal, hex, octal, binary, and the character itself.
  4. Click any row to copy the character or code.
  5. For characters beyond 127, use Unicode references — ASCII covers only the basic Latin alphabet, digits, and punctuation.
Reference

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: