Developer Reference
ASCII Table (0–127)
Free ASCII table showing all 128 characters (0–127) with decimal, hex, and printable equivalents. Look up codes instantly in your browser.
ASCII is the foundational character encoding standard that maps numeric values to letters, digits, punctuation, and control codes. Developers reference it when working with text protocols, binary data, keyboard input, or legacy systems. This table covers the complete 7-bit set from 0–127, essential for understanding character encodings and debugging binary communication.
Control characters (0–31)
| Dec | Hex | Char |
|---|---|---|
0 | 0x00 | NUL |
1 | 0x01 | SOH |
2 | 0x02 | STX |
3 | 0x03 | ETX |
4 | 0x04 | EOT |
5 | 0x05 | ENQ |
6 | 0x06 | ACK |
7 | 0x07 | BEL |
8 | 0x08 | BS |
9 | 0x09 | TAB |
10 | 0x0A | LF |
11 | 0x0B | VT |
12 | 0x0C | FF |
13 | 0x0D | CR |
14 | 0x0E | SO |
15 | 0x0F | SI |
16 | 0x10 | DLE |
17 | 0x11 | DC1 |
18 | 0x12 | DC2 |
19 | 0x13 | DC3 |
20 | 0x14 | DC4 |
21 | 0x15 | NAK |
22 | 0x16 | SYN |
23 | 0x17 | ETB |
24 | 0x18 | CAN |
25 | 0x19 | EM |
26 | 0x1A | SUB |
27 | 0x1B | ESC |
28 | 0x1C | FS |
29 | 0x1D | GS |
30 | 0x1E | RS |
31 | 0x1F | US |
Printable (32–63)
| Dec | Hex | Char |
|---|---|---|
32 | 0x20 | Space |
33 | 0x21 | ! |
34 | 0x22 | " |
35 | 0x23 | # |
36 | 0x24 | $ |
37 | 0x25 | % |
38 | 0x26 | & |
39 | 0x27 | ' |
40 | 0x28 | ( |
41 | 0x29 | ) |
42 | 0x2A | * |
43 | 0x2B | + |
44 | 0x2C | , |
45 | 0x2D | - |
46 | 0x2E | . |
47 | 0x2F | / |
48 | 0x30 | 0 |
49 | 0x31 | 1 |
50 | 0x32 | 2 |
51 | 0x33 | 3 |
52 | 0x34 | 4 |
53 | 0x35 | 5 |
54 | 0x36 | 6 |
55 | 0x37 | 7 |
56 | 0x38 | 8 |
57 | 0x39 | 9 |
58 | 0x3A | : |
59 | 0x3B | ; |
60 | 0x3C | < |
61 | 0x3D | = |
62 | 0x3E | > |
63 | 0x3F | ? |
Printable (64–95)
| Dec | Hex | Char |
|---|---|---|
64 | 0x40 | @ |
65 | 0x41 | A |
66 | 0x42 | B |
67 | 0x43 | C |
68 | 0x44 | D |
69 | 0x45 | E |
70 | 0x46 | F |
71 | 0x47 | G |
72 | 0x48 | H |
73 | 0x49 | I |
74 | 0x4A | J |
75 | 0x4B | K |
76 | 0x4C | L |
77 | 0x4D | M |
78 | 0x4E | N |
79 | 0x4F | O |
80 | 0x50 | P |
81 | 0x51 | Q |
82 | 0x52 | R |
83 | 0x53 | S |
84 | 0x54 | T |
85 | 0x55 | U |
86 | 0x56 | V |
87 | 0x57 | W |
88 | 0x58 | X |
89 | 0x59 | Y |
90 | 0x5A | Z |
91 | 0x5B | [ |
92 | 0x5C | \ |
93 | 0x5D | ] |
94 | 0x5E | ^ |
95 | 0x5F | _ |
Printable (96–127)
| Dec | Hex | Char |
|---|---|---|
96 | 0x60 | ` |
97 | 0x61 | a |
98 | 0x62 | b |
99 | 0x63 | c |
100 | 0x64 | d |
101 | 0x65 | e |
102 | 0x66 | f |
103 | 0x67 | g |
104 | 0x68 | h |
105 | 0x69 | i |
106 | 0x6A | j |
107 | 0x6B | k |
108 | 0x6C | l |
109 | 0x6D | m |
110 | 0x6E | n |
111 | 0x6F | o |
112 | 0x70 | p |
113 | 0x71 | q |
114 | 0x72 | r |
115 | 0x73 | s |
116 | 0x74 | t |
117 | 0x75 | u |
118 | 0x76 | v |
119 | 0x77 | w |
120 | 0x78 | x |
121 | 0x79 | y |
122 | 0x7A | z |
123 | 0x7B | { |
124 | 0x7C | | |
125 | 0x7D | } |
126 | 0x7E | ~ |
127 | 0x7F | DEL |
How this reference is used
- Finding the decimal or hex code for a specific character when parsing network protocols or log files
- Debugging keyboard input or terminal control sequences that aren't displaying as expected
- Implementing text encoding in low-level systems or embedded firmware
- Understanding why legacy file formats use specific byte values for delimiters or markers
- Learning which control characters (0–31) serve special functions like newline, tab, or end-of-transmission
Frequently asked questions
What's the difference between decimal and hex in this table?
Decimal is base-10 (0–127); hex is base-16 (0x00–0x7F). They represent the same value—use whichever your language or protocol expects. Most programming contexts accept both.
Why are codes 0–31 listed as control characters?
These non-printable codes (NUL, BEL, CR, LF, etc.) control devices rather than display text. They're critical in serial communication, terminal control, and file formatting, though rarely visible on screen.
Does ASCII cover emoji or accented characters?
No. ASCII is strictly 7-bit (128 characters). Extended ASCII goes to 255; Unicode handles all scripts and emoji. Use this table for classic ASCII only; check Unicode standards for beyond 127.