The full ASCII character set with decimal, hexadecimal, octal, and binary codes. Filter by category or search by character, code, or description.
Dec
Char
Hex
Oct
Binary
Description
0
NUL
0x00
000
00000000
Null character
1
SOH
0x01
001
00000001
Start of heading
2
STX
0x02
002
00000010
Start of text
3
ETX
0x03
003
00000011
End of text
4
EOT
0x04
004
00000100
End of transmission
5
ENQ
0x05
005
00000101
Enquiry
6
ACK
0x06
006
00000110
Acknowledge
7
BEL
0x07
007
00000111
Bell / Buzzer sound
8
BS
0x08
010
00001000
Backspace
9
TAB
0x09
011
00001001
Horizontal tab character
10
LF
0x0A
012
00001010
Line feed / Newline
11
VT
0x0B
013
00001011
Vertical tabulation
12
FF
0x0C
014
00001100
Form feed
13
CR
0x0D
015
00001101
Carriage return
14
SO
0x0E
016
00001110
Shift out
15
SI
0x0F
017
00001111
Shift in
16
DLE
0x10
020
00010000
Data link escape
17
DC1
0x11
021
00010001
Device control 1
18
DC2
0x12
022
00010010
Device control 2
19
DC3
0x13
023
00010011
Device control 3
20
DC4
0x14
024
00010100
Device control 4
21
NAK
0x15
025
00010101
Negative acknowledge
22
SYN
0x16
026
00010110
Synchronous idle
23
ETB
0x17
027
00010111
End of trans. block
24
CAN
0x18
030
00011000
Cancel instruction
25
EM
0x19
031
00011001
End of medium
26
SUB
0x1A
032
00011010
Substitute
27
ESC
0x1B
033
00011011
Escape control code
28
FS
0x1C
034
00011100
File separator
29
GS
0x1D
035
00011101
Group separator
30
RS
0x1E
036
00011110
Record separator
31
US
0x1F
037
00011111
Unit separator
32
SPC
0x20
040
00100000
Whitespace space
33
!
0x21
041
00100001
Printable character: !
34
"
0x22
042
00100010
Printable character: "
35
#
0x23
043
00100011
Printable character: #
36
$
0x24
044
00100100
Printable character: $
37
%
0x25
045
00100101
Printable character: %
38
&
0x26
046
00100110
Printable character: &
39
'
0x27
047
00100111
Printable character: '
40
(
0x28
050
00101000
Printable character: (
41
)
0x29
051
00101001
Printable character: )
42
*
0x2A
052
00101010
Printable character: *
43
+
0x2B
053
00101011
Printable character: +
44
,
0x2C
054
00101100
Printable character: ,
45
-
0x2D
055
00101101
Printable character: -
46
.
0x2E
056
00101110
Printable character: .
47
/
0x2F
057
00101111
Printable character: /
48
0
0x30
060
00110000
Printable character: 0
49
1
0x31
061
00110001
Printable character: 1
50
2
0x32
062
00110010
Printable character: 2
51
3
0x33
063
00110011
Printable character: 3
52
4
0x34
064
00110100
Printable character: 4
53
5
0x35
065
00110101
Printable character: 5
54
6
0x36
066
00110110
Printable character: 6
55
7
0x37
067
00110111
Printable character: 7
56
8
0x38
070
00111000
Printable character: 8
57
9
0x39
071
00111001
Printable character: 9
58
:
0x3A
072
00111010
Printable character: :
59
;
0x3B
073
00111011
Printable character: ;
60
<
0x3C
074
00111100
Printable character: <
61
=
0x3D
075
00111101
Printable character: =
62
>
0x3E
076
00111110
Printable character: >
63
?
0x3F
077
00111111
Printable character: ?
64
@
0x40
100
01000000
Printable character: @
65
A
0x41
101
01000001
Printable character: A
66
B
0x42
102
01000010
Printable character: B
67
C
0x43
103
01000011
Printable character: C
68
D
0x44
104
01000100
Printable character: D
69
E
0x45
105
01000101
Printable character: E
70
F
0x46
106
01000110
Printable character: F
71
G
0x47
107
01000111
Printable character: G
72
H
0x48
110
01001000
Printable character: H
73
I
0x49
111
01001001
Printable character: I
74
J
0x4A
112
01001010
Printable character: J
75
K
0x4B
113
01001011
Printable character: K
76
L
0x4C
114
01001100
Printable character: L
77
M
0x4D
115
01001101
Printable character: M
78
N
0x4E
116
01001110
Printable character: N
79
O
0x4F
117
01001111
Printable character: O
80
P
0x50
120
01010000
Printable character: P
81
Q
0x51
121
01010001
Printable character: Q
82
R
0x52
122
01010010
Printable character: R
83
S
0x53
123
01010011
Printable character: S
84
T
0x54
124
01010100
Printable character: T
85
U
0x55
125
01010101
Printable character: U
86
V
0x56
126
01010110
Printable character: V
87
W
0x57
127
01010111
Printable character: W
88
X
0x58
130
01011000
Printable character: X
89
Y
0x59
131
01011001
Printable character: Y
90
Z
0x5A
132
01011010
Printable character: Z
91
[
0x5B
133
01011011
Printable character: [
92
\
0x5C
134
01011100
Printable character: \
93
]
0x5D
135
01011101
Printable character: ]
94
^
0x5E
136
01011110
Printable character: ^
95
_
0x5F
137
01011111
Printable character: _
96
`
0x60
140
01100000
Printable character: `
97
a
0x61
141
01100001
Printable character: a
98
b
0x62
142
01100010
Printable character: b
99
c
0x63
143
01100011
Printable character: c
100
d
0x64
144
01100100
Printable character: d
101
e
0x65
145
01100101
Printable character: e
102
f
0x66
146
01100110
Printable character: f
103
g
0x67
147
01100111
Printable character: g
104
h
0x68
150
01101000
Printable character: h
105
i
0x69
151
01101001
Printable character: i
106
j
0x6A
152
01101010
Printable character: j
107
k
0x6B
153
01101011
Printable character: k
108
l
0x6C
154
01101100
Printable character: l
109
m
0x6D
155
01101101
Printable character: m
110
n
0x6E
156
01101110
Printable character: n
111
o
0x6F
157
01101111
Printable character: o
112
p
0x70
160
01110000
Printable character: p
113
q
0x71
161
01110001
Printable character: q
114
r
0x72
162
01110010
Printable character: r
115
s
0x73
163
01110011
Printable character: s
116
t
0x74
164
01110100
Printable character: t
117
u
0x75
165
01110101
Printable character: u
118
v
0x76
166
01110110
Printable character: v
119
w
0x77
167
01110111
Printable character: w
120
x
0x78
170
01111000
Printable character: x
121
y
0x79
171
01111001
Printable character: y
122
z
0x7A
172
01111010
Printable character: z
123
{
0x7B
173
01111011
Printable character: {
124
|
0x7C
174
01111100
Printable character: |
125
}
0x7D
175
01111101
Printable character: }
126
~
0x7E
176
01111110
Printable character: ~
127
DEL
0x7F
177
01111111
Delete instruction
Understanding the ASCII Character Encoding Standard
ASCII, the American Standard Code for Information Interchange, is the foundational character encoding that underpins virtually all modern computing. Published in 1963 by the American Standards Association (now ANSI), ASCII assigns numeric values to 128 characters using a 7-bit binary scheme. Despite being over sixty years old, every modern encoding system — from Latin-1 to UTF-8 — maintains backward compatibility with ASCII, making it one of the most enduring standards in technology history.
The Structure of the ASCII Table
The 128 ASCII characters divide into four logical groups. Control characters (codes 0-31 and 127) are non-printable characters originally designed to control teletypes and printers: NUL terminates strings in C, TAB inserts horizontal spacing, LF creates new lines, CR returns the cursor to the left margin, and ESC initiates escape sequences. Space (code 32) is the boundary between control and printable characters. Printable characters (codes 33-126) include digits 0-9 at positions 48-57, uppercase letters A-Z at 65-90, lowercase letters a-z at 97-122, and 32 punctuation and symbol characters distributed throughout.
The Elegant Design Behind ASCII
ASCII was not randomly assigned. Its designers embedded mathematical relationships that simplify computation. The uppercase-to-lowercase conversion requires only toggling bit 5 (adding or subtracting 32). Digit characters 0-9 occupy codes 48-57, meaning the numeric value equals the ASCII code minus 48. Letters are alphabetically ordered, so the alphabet position equals the code minus 64 (uppercase) or minus 96 (lowercase). These properties eliminated the need for lookup tables in early hardware with extremely limited memory.
ASCII in Modern Programming
Despite the dominance of Unicode, ASCII remains essential in programming. String comparison and sorting rely on ASCII ordering. Regular expressions use ASCII ranges for character classes like [A-Z] and [0-9]. Network protocols including HTTP, SMTP, and DNS transmit headers and commands as ASCII text. Programming languages use ASCII for identifiers, operators, and syntax. Even in a Unicode world, the ASCII subset remains the lingua franca of machine-to-machine communication.
From ASCII to Unicode: The Evolution
ASCII's 128-character limit was sufficient for English text but inadequate for the world's writing systems. Extended ASCII (codes 128-255) added European characters but created incompatible regional variants. Unicode solved this by assigning unique code points to over 149,000 characters from all scripts. UTF-8, the dominant encoding today, uses 1-4 bytes per character and is fully backward-compatible with ASCII: any valid ASCII file is also valid UTF-8. This backward compatibility is why ASCII knowledge remains relevant for every programmer.
Practical Tips for Using This Table
Quick lookups: Use the filter pills above the table to narrow down to the category you need. The "Letters" filter shows all 52 upper and lowercase letters. The "Control" filter isolates the 33 non-printable characters. Code conversion: The table shows four numeric representations for each character — decimal, hexadecimal, octal, and binary — making it easy to convert between bases. Programming reference: When writing string manipulation code, bookmark this page for quick access to character codes, especially for boundary checks and case conversion logic.