Online ASCII Table

Hello, world!


The definition of ASCII is American Standard Code for Information Interchange. Only numbers can be understood by computers. This way we can say that the ASCII code is nothing but the numerical representation of such characters as 'X' or '$' or some kind of action. ASCII is a table with the great history. However, at present the non-printing characters are used for their main purpose pretty seldom. Below you can see the ASCII character table. The description of the first 32 non-printing characters is included. Properly speaking, ASCII was created in order to use with teletypes. That is the reason why the descriptions of it sometimes may seem unclear

Imagine that your potential boss says he wants to have your Curriculum Vitae (CV) in ASCII format. The meaning of it is as following: he just wants to get a simple (plain) text without any additional formatting as tabs, bold or underscoring. It's just about the raw format that can be read by any computer. It is pretty convenient because the person can import the file into his own applications without having any troubles. ASCII text can be created with the help of Notepad.exe, or you can use MS Word and save a file as 'text only' (without formatting).

Overview   History   Bit width   ASCII Table (Small)   ASCII Table (Full)

ASCII Overview


ASCII is the abbreviation derived from American Standard Code for Information Interchange. ASCII is a character encoding standard for the electronic communication. With the help of ASCII codes different texts in computers are being represented, as well as telecommunications equipment, and some other devices. ASCII is the essential basis of the most character-encoding schemes of our times, despite the fact that lots of additional characters can be supported by them.

Encoding system conventional name is ASCII. the Internet Assigned Numbers Authority (IANA) uses the modern name US-ASCII. This way it becomes clear that this system was created in the USA. It is also clear that the basis of it are typographical symbols, that are used there in great abundance.

The telegraph code was the predecessor of ASCII, from which it was lately developed. A seven-bit teleprinter code promoted by Bell data services was the first commercial use of ASCII. October 6, 1960 is the day, when the work on the ASCII standard began. Everything started from the first meeting of the American Standards Association's (ASA) (currently the American National Standards Institute or ANSI) Х3.2 subcommittee.

In 1963 the very first edition of the standard was published. In 1967 there was a great revision of it and later on in 1986 ASCII experienced its most recent update. There were some differences from the earlier telegraph codes. The both proposed Bell code and ASCII were ordered just to provide the easier sorting (i.e., alphabetization) of lists, and added features for some other devices than the teleprinters.

ASCII was originally based on the English alphabet. It encodes 128 specified characters into seven-bit integers. The example of it you can see on the ASCII chart above. 95 of the encoded characters can be printed: these are the digits (0, 1, 2, 3, 4, 5, 6, 7, 8, 9), uppercase letters (A to Z), lowercase letters (a to z) and punctuation symbols. 33 non-printing control codes which originated with Teletype machines are included in the original ASCII specification. It is worth mentioning that the most of them are currently outdated. However, some of them are still used everywhere, such as carriage return, line feed and fab codes. They included in the original ASCII specifications.

Let's see the example. The uppercase 'Z' would be represented in the ASCII encoding by binary 01011010 = hexadecimal 5A = decimal 90.


ASCII Table


0 1 2 3 4 5 6 7 8 9 A B C D E F
0 NUL
000
0x00
SOH
001
0x01
STX
002
0x02
ETX
003
0x03
EOT
004
0x04
ENQ
005
0x05
ACK
006
0x06
BEL
007
0x07
BS
008
0x08
HT
009
0x09
LF
010
0x0A
VT
011
0x0B
FF
012
0x0C
CR
013
0x0D
SO
014
0x0E
SI
015
0x0F
1 DLE
016
0x10
DC1
017
0x11
DC2
018
0x12
DC3
019
0x13
DC4
020
0x14
NAK
021
0x15
SYN
022
0x16
ETB
023
0x17
CAN
024
0x18
EM
025
0x19
SUB
026
0x1A
ESC
027
0x1B
FS
028
0x1C
GS
029
0x1D
RS
030
0x1E
US
031
0x1F
2 SP
032
0x20
!
033
0x21
"
034
0x22
#
035
0x23
$
036
0x24
%
037
0x25
&
038
0x26
'
039
0x27
(
040
0x28
)
041
0x29
*
042
0x2A
+
043
0x2B
,
044
0x2C
-
045
0x2D
.
046
0x2E
/
047
0x2F
3 0
048
0x30
1
049
0x31
2
050
0x32
3
051
0x33
4
052
0x34
5
053
0x35
6
054
0x36
7
055
0x37
8
056
0x38
9
057
0x39
:
058
0x3A
;
059
0x3B
<
060
0x3C
=
061
0x3D
>
062
0x3E
?
063
0x3F
4 @
064
0x40
A
065
0x41
B
066
0x42
C
067
0x43
D
068
0x44
E
069
0x45
F
070
0x46
G
071
0x47
H
072
0x48
I
073
0x49
J
074
0x4A
K
075
0x4B
L
076
0x4C
M
077
0x4D
N
078
0x4E
O
079
0x4F
5 P
080
0x50
Q
081
0x51
R
082
0x52
S
083
0x53
T
084
0x54
U
085
0x55
V
086
0x56
W
087
0x57
X
088
0x58
Y
089
0x59
Z
090
0x5A
[
091
0x5B
\
092
0x5C
]
093
0x5D
^
094
0x5E
_
095
0x5F
6 `
096
0x60
a
097
0x61
b
098
0x62
c
099
0x63
d
100
0x64
e
101
0x65
f
102
0x66
g
103
0x67
h
104
0x68
i
105
0x69
j
106
0x6A
k
107
0x6B
l
108
0x6C
m
109
0x6D
n
110
0x6E
o
111
0x6F
7 p
112
0x70
q
113
0x71
r
114
0x72
s
115
0x73
t
116
0x74
u
117
0x75
v
118
0x76
w
119
0x77
x
120
0x78
y
121
0x79
z
122
0x7A
{
123
0x7B
|
124
0x7C
}
125
0x7D
~
126
0x7E
DEL
127
0x7F
Code Info
000 NUL - Null character
dec: 000
hex: 0x00
001 SOH - Start of Heading
dec: 001
hex: 0x01
002 STX - Start of text
dec: 002
hex: 0x02
003 ETX - End of Text
dec: 003
hex: 0x03
004 EOT - End of Transmission
dec: 004
hex: 0x04
005 ENQ - Enquiry
dec: 005
hex: 0x05
006 ACK - Acknowledge
dec: 006
hex: 0x06
007 BEL - Bell, Alert
dec: 007
hex: 0x07
008 BS - Backspace
dec: 008
hex: 0x08
009 HT - Character Tabulation, Horizontal Tabulation
dec: 009
hex: 0x09
010 LF - Line feed
dec: 010
hex: 0x0A
011 VT - Line Tabulation, Vertical Tabulation
dec: 011
hex: 0x0B
012 FF - Form Feed
dec: 012
hex: 0x0C
013 CR - Carriage Return
dec: 013
hex: 0x0D
014 SO - Shift Out
dec: 014
hex: 0x0E
015 SI - Shift In
dec: 015
hex: 0x0F
016 DLE - Data Link Escape
dec: 016
hex: 0x10
017 DC1 - Device Control One (XON)
dec: 017
hex: 0x11
018 DC2 - Device Control Two
dec: 018
hex: 0x12
019 DC3 - Device Control Three (XOFF)
dec: 019
hex: 0x13
020 DC4 - Device Control Four
dec: 020
hex: 0x14
021 NAK - Negative Acknowledge
dec: 021
hex: 0x15
022 SYN - Synchronous Idle
dec: 022
hex: 0x16
023 ETB - End of Transmission Block
dec: 023
hex: 0x17
024 CAN - Cancel
dec: 024
hex: 0x18
025 EM - End of medium
dec: 025
hex: 0x19
026 SUB - Substitute
dec: 026
hex: 0x1A
027 ESC - Escape
dec: 027
hex: 0x1B
028 FS - File Separator
dec: 028
hex: 0x1C
029 GS - Group Separator
dec: 029
hex: 0x1D
030 RS - Record Separator
dec: 030
hex: 0x1E
031 US - Unit Separator
dec: 031
hex: 0x1F
032 SP - Space
dec: 032
hex: 0x20
033 ! - Exclamation mark (point)
dec: 033
hex: 0x21
034 " - Quotation mark, quotes, quotemarks
dec: 034
hex: 0x22
035 # - Number sign, hash
dec: 035
hex: 0x23
036 $ - Dollar sign
dec: 036
hex: 0x24
037 % - Percent sign
dec: 037
hex: 0x25
038 & - Ampersand
dec: 038
hex: 0x26
039 ' - Apostrophe
dec: 039
hex: 0x27
040 ( - Left parenthesis, left round bracket
dec: 040
hex: 0x28
041 ) - Right parenthesis, right round bracket
dec: 041
hex: 0x29
042 * - Asterisk
dec: 042
hex: 0x2A
043 + - Plus sign
dec: 043
hex: 0x2B
044 , - Comma
dec: 044
hex: 0x2C
045 - - Hyphen-minus, minus sign
dec: 045
hex: 0x2D
046 . - Full stop, full point, dot
dec: 046
hex: 0x2E
047 / - Slash
dec: 047
hex: 0x2F
048 0 - Zero number, zero digit
dec: 048
hex: 0x30
049 1 - One number, one digit
dec: 049
hex: 0x31
050 2 - Two number, two digit
dec: 050
hex: 0x32
051 3 - Three number, three digit
dec: 051
hex: 0x33
052 4 - Four number, four digit
dec: 052
hex: 0x34
053 5 - Five number, five digit
dec: 053
hex: 0x35
054 6 - Six number, six digit
dec: 054
hex: 0x36
055 7 - Seven number, seven digit
dec: 055
hex: 0x37
056 8 - Eight number, eight digit
dec: 056
hex: 0x38
057 9 - Nine number, nine digit
dec: 057
hex: 0x39
058 : - Colon symbol, colon sign
dec: 058
hex: 0x3A
059 ; - Semicolon symbol, semicolon sign
dec: 059
hex: 0x3B
060 < - Less-than sign
dec: 060
hex: 0x3C
061 = - Equal symbol, equal sign
dec: 061
hex: 0x3D
062 > - Greater-than sign
dec: 062
hex: 0x3E
063 ? - Question mark (point)
dec: 063
hex: 0x3F
064 @ - At sign, at symbol, commercial at
dec: 064
hex: 0x40
065 A - Letter A (upper, uppercase) ISO basic Latin alphabet
dec: 065
hex: 0x41
066 B - Letter B (upper, uppercase) ISO basic Latin alphabet
dec: 066
hex: 0x42
067 C - Letter C (upper, uppercase) ISO basic Latin alphabet
dec: 067
hex: 0x43
068 D - Letter D (upper, uppercase) ISO basic Latin alphabet
dec: 068
hex: 0x44
069 E - Letter E (upper, uppercase) ISO basic Latin alphabet
dec: 069
hex: 0x45
070 F - Letter F (upper, uppercase) ISO basic Latin alphabet
dec: 070
hex: 0x46
071 G - Letter G (upper, uppercase) ISO basic Latin alphabet
dec: 071
hex: 0x47
072 H - Letter H (upper, uppercase) ISO basic Latin alphabet
dec: 072
hex: 0x48
073 I - Letter I (upper, uppercase) ISO basic Latin alphabet
dec: 073
hex: 0x49
074 J - Letter J (upper, uppercase) ISO basic Latin alphabet
dec: 074
hex: 0x4A
075 K - Letter K (upper, uppercase) ISO basic Latin alphabet
dec: 075
hex: 0x4B
076 L - Letter L (upper, uppercase) ISO basic Latin alphabet
dec: 076
hex: 0x4C
077 M - Letter M (upper, uppercase) ISO basic Latin alphabet
dec: 077
hex: 0x4D
078 N - Letter N (upper, uppercase) ISO basic Latin alphabet
dec: 078
hex: 0x4E
079 O - Letter O (upper, uppercase) ISO basic Latin alphabet
dec: 079
hex: 0x4F
080 P - Letter P (upper, uppercase) ISO basic Latin alphabet
dec: 080
hex: 0x50
081 Q - Letter Q (upper, uppercase) ISO basic Latin alphabet
dec: 081
hex: 0x51
082 R - Letter R (upper, uppercase) ISO basic Latin alphabet
dec: 082
hex: 0x52
083 S - Letter S (upper, uppercase) ISO basic Latin alphabet
dec: 083
hex: 0x53
084 T - Letter T (upper, uppercase) ISO basic Latin alphabet
dec: 084
hex: 0x54
085 U - Letter U (upper, uppercase) ISO basic Latin alphabet
dec: 085
hex: 0x55
086 V - Letter V (upper, uppercase) ISO basic Latin alphabet
dec: 086
hex: 0x56
087 W - Letter W (upper, uppercase) ISO basic Latin alphabet
dec: 087
hex: 0x57
088 X - Letter X (upper, uppercase) ISO basic Latin alphabet
dec: 088
hex: 0x58
089 Y - Letter Y (upper, uppercase) ISO basic Latin alphabet
dec: 089
hex: 0x59
090 Z - Letter Z (upper, uppercase) ISO basic Latin alphabet
dec: 090
hex: 0x5A
091 [ - Left square bracket
dec: 091
hex: 0x5B
092 \ - Backslash
dec: 092
hex: 0x5C
093 ] - Right square bracket
dec: 093
hex: 0x5D
094 ^ - Caret
dec: 094
hex: 0x5E
095 _ - Underscore
dec: 095
hex: 0x5F
096 ` - Grave accent
dec: 096
hex: 0x60
097 a - Letter a (lower, lowercase) ISO basic Latin alphabet
dec: 097
hex: 0x61
098 b - Letter b (lower, lowercase) ISO basic Latin alphabet
dec: 098
hex: 0x62
099 c - Letter c (lower, lowercase) ISO basic Latin alphabet
dec: 099
hex: 0x63
100 d - Letter d (lower, lowercase) ISO basic Latin alphabet
dec: 100
hex: 0x64
101 e - Letter e (lower, lowercase) ISO basic Latin alphabet
dec: 101
hex: 0x65
102 f - Letter f (lower, lowercase) ISO basic Latin alphabet
dec: 102
hex: 0x66
103 g - Letter g (lower, lowercase) ISO basic Latin alphabet
dec: 103
hex: 0x67
104 h - Letter h (lower, lowercase) ISO basic Latin alphabet
dec: 104
hex: 0x68
105 i - Letter i (lower, lowercase) ISO basic Latin alphabet
dec: 105
hex: 0x69
106 j - Letter j (lower, lowercase) ISO basic Latin alphabet
dec: 106
hex: 0x6A
107 k - Letter k (lower, lowercase) ISO basic Latin alphabet
dec: 107
hex: 0x6B
108 l - Letter l (lower, lowercase) ISO basic Latin alphabet
dec: 108
hex: 0x6C
109 m - Letter m (lower, lowercase) ISO basic Latin alphabet
dec: 109
hex: 0x6D
110 n - Letter n (lower, lowercase) ISO basic Latin alphabet
dec: 110
hex: 0x6E
111 o - Letter o (lower, lowercase) ISO basic Latin alphabet
dec: 111
hex: 0x6F
112 p - Letter p (lower, lowercase) ISO basic Latin alphabet
dec: 112
hex: 0x70
113 q - Letter q (lower, lowercase) ISO basic Latin alphabet
dec: 113
hex: 0x71
114 r - Letter r (lower, lowercase) ISO basic Latin alphabet
dec: 114
hex: 0x72
115 s - Letter s (lower, lowercase) ISO basic Latin alphabet
dec: 115
hex: 0x73
116 t - Letter t (lower, lowercase) ISO basic Latin alphabet
dec: 116
hex: 0x74
117 u - Letter u (lower, lowercase) ISO basic Latin alphabet
dec: 117
hex: 0x75
118 v - Letter v (lower, lowercase) ISO basic Latin alphabet
dec: 118
hex: 0x76
119 w - Letter w (lower, lowercase) ISO basic Latin alphabet
dec: 119
hex: 0x77
120 x - Letter x (lower, lowercase) ISO basic Latin alphabet
dec: 120
hex: 0x78
121 y - Letter y (lower, lowercase) ISO basic Latin alphabet
dec: 121
hex: 0x79
122 z - Letter z (lower, lowercase) ISO basic Latin alphabet
dec: 122
hex: 0x7A
123 { - Left curly bracket
dec: 123
hex: 0x7B
124 | - Vertical bar
dec: 124
hex: 0x7C
125 } - Right curly bracket
dec: 125
hex: 0x7D
126 ~ - Tilde symbol, tilde sign
dec: 126
hex: 0x7E
127 DEL - Delete character
dec: 127
hex: 0x7F
Full ASCII table

ASCII History


A committee of the American Standards Association (ASA) was responsible for the creation of the American Standard Code for Information Interchange (ASCII). ASA is also called the X3 committee, by its X3.2 (later X3L2) subcommittee, and later on by the working group of that subcommittee X3.2.4 (now INCITS). The managed to become ASA the United States of America Standards Institute (USASI) and finally the American National Standards Institute (ANSI).

ASCII was published as ASA X3.4-1963 with some other unique characters and control codes filled in. What's more, 28 code positions were left without any particular meaning. They were reserved for the later standardization, and one unassigned control code. At that time specialists couldn't firmly decide whether there should be more control characters rather than the lowercase alphabet. However, this state of uncertainty did not last long: during May 1963 the CCITT Working Party on the New Telegraph Alphabet suggested to assign lowercase characters to sticks 6 and 7. During October the International Organization for Standardization TC 97 SC 2 gave its vote for the incorporation the change into its draft standard. At May 1963 meeting the vote for the change approval to ASCII was given by the X3.2.4 task group. Because of the lowercase letters location in sticks 6 and 7, the characters differed in bit pattern from the upper case by a single bit. This simplified case-insensitive character matching and the construction of keyboards and printers in general.

Some other changes were made by the X3 committee. Among them are some other new characters (the brace and vertical bar characters), renaming some control characters (SOM became start of header (SOH)) and moving or removing others (RU was removed). Later on ASCII was updated as USAS X3.4-1967, then USAS X3.4-1968, ANSI X3.4-1977, and finally, ANSI X3.4-1986.

Revisions of the ASCII standard:

  • ASA X3.4-1963
  • ASA X3.4-1965 (approved, but not published, however used by IBM 2260 & 2265 Display Stations and IBM 2848 Display Control)
  • USAS X3.4-1967
  • USAS X3.4-1968
  • ANSI X3.4-1977
  • ANSI X3.4-1986
  • ANSI X3.4-1986 (R1992)
  • ANSI X3.4-1986 (R1997)
  • ANSI INCITS 4-1986 (R2002)
  • ANSI INCITS 4-1986 (R2007)
  • ANSI INCITS 4-1986 (R2012)

The way how ASCII should be transmitted (least significant bit first), and how it should be recorded on perforated tape was also considered by the X3 committee in the X3.15 standard. They proposed a 9-track standard for magnetic tape, and, what's more, tried to deal with some punched card formats.


ASCII Bit width


ASCII was created based on the earlier teleprinter encoding systems by the X3.2 committee. ASCII can be compared to some other character encodings: it specifies a correspondence between digital bit patterns and character symbols (i.e. graphemes and control characters). This way digital devices can communicate with each other, process, save, and communicate character-oriented information, written language, for example. Before the development of ASCII, the encodings in service included 26 alphabetic characters, 10 numerical digits, and from 11 to 25 unique graphic symbols. International Telegraph Alphabet No. 2 (ITA2) standard of 1924 FIELDATA (1956), and early EBCDIC (1963), more than 64 codes were required for ASCII in order to include all these things and control characters compatible with the International Telegraph and Telephone Consultative Committee (CCITT, from French).

In its turn, the base of the ITA2 was the 5-bit telegraph code Emile Baudot. It was invented in 1870 and patented in 1874.

The possibility of a shift function (like in ITA2) was hotly discussed by the specialists. More than 64 codes could be allowed to be represented by a 6-bit code. In a shifted code, the choices between options for the following character codes are determined by some character codes. The compact encoding is possible here. However, the data transmission becomes not so reliable, because a transmitting shift code error usually makes a great part of the transmission totally unreadable. Taking into consideration these facts, the standards committee decided no to add up the shift function, so ASCII required at least a 7-bit code.

An 8-bit code was proposed by the committee, since eight bits (octets) would allow two four-bit patterns to productively encode two digits with binary-coded decimal. Nevertheless, all data transmission would be obliged to send eight bits when seven could be pretty enough. The committee decided to use a 7-bit code in order to minimize costs related to data transmission. Taking into consideration that the perforated tape of that time could record eight bits in one position, it also allowed for a parity bit for error checking, if it was needed. Eight-bit machines (with octets as the native data type) that did not use parity checking typically set the eighth bit to 0. The high bit was used some printers in order to enable Italics printing.


 2018-2024 © Dmytro Koshovyi. Ukraine, Mykolayiv.