Skip to the calculator
Rule Calculator

ASCII table

ASCII has 128 codes, 0 to 127: 33 control characters and 95 printable ones, with the space at 32 counted among the printable. Capital A is 65 and lower-case a is 97, so the case bit is the difference of 32 — a single bit, which is why toggling case was once a bitwise operation rather than a lookup.

All 128 codes in decimal, hex, octal and binary, with every control character named and the escape sequence a C-family language writes it as. 95 are printable and 33 are control codes — and the two that surprise people are that the space is in the first group and DEL is in the second.

Codes checked against RFC 20 and the Unicode Basic Latin chart · How we check

Printable characters, 32 to 126

Printable characters, 32 to 126
CharDecHexOctBinary
space32200400100000
!33210410100001
"34220420100010
#35230430100011
$36240440100100
%37250450100101
&38260460100110
'39270470100111
(40280500101000
)41290510101001
*422A0520101010
+432B0530101011
,442C0540101100
-452D0550101101
.462E0560101110
/472F0570101111
048300600110000
149310610110001
250320620110010
351330630110011
452340640110100
553350650110101
654360660110110
755370670110111
856380700111000
957390710111001
:583A0720111010
;593B0730111011
<603C0740111100
=613D0750111101
>623E0760111110
?633F0770111111
@64401001000000
A65411011000001
B66421021000010
C67431031000011
D68441041000100
E69451051000101
F70461061000110
G71471071000111
H72481101001000
I73491111001001
J744A1121001010
K754B1131001011
L764C1141001100
M774D1151001101
N784E1161001110
O794F1171001111
P80501201010000
Q81511211010001
R82521221010010
S83531231010011
T84541241010100
U85551251010101
V86561261010110
W87571271010111
X88581301011000
Y89591311011001
Z905A1321011010
[915B1331011011
\925C1341011100
]935D1351011101
^945E1361011110
_955F1371011111
`96601401100000
a97611411100001
b98621421100010
c99631431100011
d100641441100100
e101651451100101
f102661461100110
g103671471100111
h104681501101000
i105691511101001
j1066A1521101010
k1076B1531101011
l1086C1541101100
m1096D1551101101
n1106E1561101110
o1116F1571101111
p112701601110000
q113711611110001
r114721621110010
s115731631110011
t116741641110100
u117751651110101
v118761661110110
w119771671110111
x120781701111000
y121791711111001
z1227A1721111010
{1237B1731111011
|1247C1741111100
}1257D1751111101
~1267E1761111110

Control characters, 0 to 31 and 127

None of these has a glyph. Most are dead conventions from teleprinters and paper tape; about six are still load-bearing in software written today.

Control characters, 0 to 31 and 127
DecHexNameEscapeStill matters because
000NUL — null\0Ends a string in C. A byte of zero, not the digit 0.
101SOH — start of heading
202STX — start of text
303ETX — end of text
404EOT — end of transmission
505ENQ — enquiry
606ACK — acknowledge
707BEL — bell\aRang the teleprinter bell. Terminals still beep on it.
808BS — backspace\b
909HT — horizontal tab\t
100ALF — line feed\nA newline on Unix and macOS. Windows writes CR LF, which is why a file moved between them grows or shrinks by one byte a line.
110BVT — vertical tab\v
120CFF — form feed\fA page break to a printer.
130DCR — carriage return\rReturns to column one without advancing. Alone it is a classic mangled-file symptom.
140ESO — shift out
150FSI — shift in
1610DLE — data link escape
1711DC1 — device control 1
1812DC2 — device control 2
1913DC3 — device control 3
2014DC4 — device control 4
2115NAK — negative acknowledge
2216SYN — synchronous idle
2317ETB — end of block
2418CAN — cancel
2519EM — end of medium
261ASUB — substitute
271BESC — escape\eOpens an ANSI escape sequence — every terminal colour starts here.
281CFS — file separator
291DGS — group separator
301ERS — record separator
311FUS — unit separator
1277FDEL — deleteNot a control code by position: it is all bits set, which is what punching out every hole on a paper tape produced.

Questions people actually ask

How many characters are in ASCII?
128, numbered 0 to 127, of which 33 are control characters — 0 to 31 plus DEL at 127 — and 95 are printable, counting the space. Anything numbered above 127 is not ASCII: it belongs to whatever code page or encoding is in use, which is why the same byte shows as é, ‚ or † depending on where the file is opened.
Why is DEL 127 rather than 0?
Because ASCII was designed for paper tape. 127 is 1111111 — every bit set — so a character could be deleted by punching out all seven holes over whatever was already there. There was no way to un-punch a hole, so the delete code had to be the one that overwrites everything.
Is the space a control character?
No. Space is code 32 and is the first printable character; it simply has no ink. DEL at 127 is the control character that sits above every graphic one. Hand-written tables regularly get both backwards.
What is the difference between ASCII and UTF-8?
For the first 128 codes, nothing — UTF-8 encodes them as a single byte with the same value, which is why ASCII text is valid UTF-8 unchanged. Above 127 they diverge completely: UTF-8 uses two to four bytes and covers every script, while ASCII stops.
Why is the difference between A and a exactly 32?
Because 32 is bit 5, and the alphabet was laid out so that case is a single bit. A is 1000001 and a is 1100001, so changing case is one XOR — which is how every C library implemented toupper for thirty years.

Cite this page

APA
Rule Calculator. (2026). ASCII Table. Rule Calculator. https://rulecalculators.com/ascii-table
MLA
"ASCII Table." Rule Calculator, August 16, 2026, https://rulecalculators.com/ascii-table.
Chicago
Rule Calculator. "ASCII Table." Rule Calculator. Last reviewed August 16, 2026. https://rulecalculators.com/ascii-table.

The date is when the figures on this page were last checked against their source, not the day you opened it. Add your own access date if your style needs one.

Sources

Related

Did this answer your question?