Omni Calculator logo

What is ASCII? — The Universal Language of Computers

When you type, do you ever think about what is going on in the background? How does your computer know precisely what your character should look like, and how do the singular characters always look the same? Well, typing a character is way more than just tapping on a keyboard. Each keystroke starts a process of computing and encoding that the naked eye doesn't see. How exactly does this process work? And last but not least, how do you pronounce ASCII?

👀 Let's take a look at what is meant by ASCII and how it gave way to a new era of computing.

ASCII (pron. /ˈæs.ki/, askee) stands for the American Standard Code for Information Interchange, and is a standard character encoding system — one of the building blocks of the digital world. In the simplest terms, it's a small, simple dictionary that enables computers to exchange and process information — you can write the alphabet in ASCII code, as well as digits and symbols.

Machines don't understand letters, numbers, or punctuation; all they can understand is strings of code. How can we, humans, communicate with computers, then? That's where systems like ASCII come in: they translate the characters that we see and use into standardized numbers, so that machines can "understand" them.

The true revolution of ASCII was not its technical brilliance, but its role as a standard for political and commercial agreements. The most important word in its name is "Interchange." Before ASCII, the computing world was in chaos.

Why was ASCII created?

It is difficult to imagine, but in the 1950s and early 1960s, the computing landscape was a digital "Tower of Babel". Different makes and models of computers used different character encodings, meaning they were fundamentally incapable of communicating with each other. IBM alone used nine different character sets across its various machines, which meant that computers within the same company couldn't exchange information, let alone with other tech products!

Needless to say, this was a problem, and the solution came in 1963, when the American National Standards Institute (ANSI) approved ASCII as the American Standard for character encoding.

Adoption was slow and laborious — various companies insisted on using their own in-house systems. However, in 1968, President Lyndon B. Johnson mandated ASCII as the federal standard for all government computers, forcing the industry to adapt. By the 1970s and 1980s, ASCII was everywhere — even the first IBM PC, introduced in 1981, used ASCII.

Now that we have answered the question "What is ASCII?", let's look into how it works, shall we?

The concept of ASCII might sound highly technical, but what is meant by ASCII is actually relatively straightforward: it defines translation between characters and code. ASCII is based on a 7-bit binary code for each character, which gives 128 possible values (27 = 128).

What is a in ASCII, for example? The character a is represented by the number 97 (01100001 in binary), b is 98, and so on. Similarly, uppercase letters, on the other hand, are assigned numbers 65 through 90. Even characters representing numbers are included in this mapping system: the code for 0 is 48, 1 is 49, and so on. You can write the entire alphabet in ASCII code, both lowercase and uppercase letters, as well as digits, punctuation, and some special symbols.

So, do you see what goes on under the hood when you type on your laptop? Exactly, each keystroke is converted into its code. For instance, if you type "HELLO", the software will produce a sequence of five numbers: 72 69 76 76 79. This code can then be used to communicate with other devices and systems, which reconstruct the characters on the other end to transmit your text. Simple, right?

One important thing to note is that not all codes represent visible characters. Out of the entire ASCII code list, 33 are commands that we never see. Let's take a look at the different types of characters in ASCII:

  • Digits: Codes 48-57 in the ASCII code list;

  • Alphabet in ASCII code: Codes 65-90 and 97-122;

  • Punctuation and symbols: Codes 32-47, 58-64, 91-96, and 123-126; and

  • Control characters: Codes 0-31 and 127.

    These are non-printable commands in the ASCII code list used for text and device control, which were initially designed for teletype machines and terminals. For example, 10 activates a new line, while 8 is the code for a backspace. These don't display a symbol, but instead command the device to perform an action "behind the scenes".

You can use our ASCI converter to convert any character into its ASCII code!

The simplicity and universal adoption of ASCII made it the lingua franca for the pioneers of the ARPANET. The first world-changing network protocols were built on it. Early email systems, which could only send and receive plain ASCII text, transformed global communication. The first "web pages" and the syntax for nearly all modern programming languages — from C and C++ to Python and Java — are written using characters defined in the ASCII standard.

But its simplicity, its greatest strength, was also a catastrophic weakness. It is, after all, the American Standard Code. It was designed by Americans, primarily for the English language. The 128-character set has no way to represent characters with diacritics, like the é in "résumé," the ñ in "jalapeño," or the ü in "Müller". It has no room for characters from non-Latin alphabets, making it impossible to write in languages such as Greek, Cyrillic, Arabic, Chinese, or Japanese.

So, what is ASCII today? Given these limitations, it is easy to assume that ASCII is a dead or obsolete standard, a relic of the 1960s. This could not be further from the truth. ASCII was not replaced; it was enshrined as the standard. As the need for a truly global, all-encompassing standard became undeniable, a new system was created: Unicode.

The designers of Unicode, however, understood the monumental legacy of ASCII. They made a critical and brilliant decision to ensure backward compatibility. The first 128 code points of the massive Unicode standard are identical to the 128 characters of the ASCII standard.

🔎 Discover more about Unicode and why it replaced ASCII in "Why did UTF-8 replace ASCII?"

The purpose of ASCII is to enable computers to exchange information and convert it into characters that are understandable to humans. The original ASCII code list is, to this day, the backbone of digital communication, as the first 128 characters of Unicode are a perfect, 1-to-1 match for the ASCII standard.

In the ASCII code list, the lowercase letter a is represented by the decimal number 97. This is distinct from the uppercase A, which is represented by the decimal number 65. This 32-digit difference is not an accident; in binary, it represents a single bit-flip (from 01000001 for A to 01100001 for a).

ASCII is pronounced askee (/ˈæs.ki/). As far as pronunciation goes, this acronym is treated as a word, similarly to NASA or HUD (Housing and Urban Development). Other acronyms, such as HEW (Health, Education, and Welfare), are treated as initialisms instead. Generally, pronunciations of acronyms are dictated by usage and conventions, rather than strict rules.

This article was written by Agata Flak and reviewed by Steven Wooding.