█▓▒░ getascii.com
[◐ dark]
~/compare

░▒▓ ASCII VS UNICODE — ENCODING COMPARISON ▓▒░

ASCII, Extended ASCII, and Unicode are three generations of the same idea: mapping characters to numbers. Here's how they differ, side by side — and why ASCII never really went away, it just became the first 128 characters of Unicode.

── AT A GLANCE────────────────────────────────────────────────────────

ASCII
7-bit encoding, codes 0–127
128 characters, English-centric
One universal standard since 1963
Identical bytes in every UTF-8 file
EXTENDED ASCII
8-bit encoding, codes 0–255
256 characters per code page
Many incompatible variants (CP437, ISO-8859-1, Windows-1252)
Legacy — replaced by Unicode
UNICODE
Variable-width, 1,114,112 code points
155,000+ characters assigned
Every script, symbol, and emoji
UTF-8 is the dominant encoding

── COMPARISON TABLE────────────────────────────────────────────────────────

FEATUREASCIIEXTENDED ASCIIUNICODE
Bit depth 7-bit 8-bit Variable (8–32 bits)
Characters 128 256 155,000+ and growing
Code range 0–127 0–255 0–1,114,111 (U+0000–U+10FFFF)
Language support English only Some Western European Every writing system
Emoji None None Yes (since Unicode 6.0)
Standardization One universal standard Many conflicting code pages One universal standard
Storage per character 1 byte 1 byte 1–4 bytes (UTF-8)
Introduced 1963 1981 1991
Status today Subset of Unicode Legacy The standard (~98% of the web)

── THE KEY RELATIONSHIP────────────────────────────────────────────────────────

ASCII vs Unicode isn't really a competition — ASCII is a subset of Unicode. The first 128 Unicode code points (U+0000–U+007F) are exactly the ASCII table, and UTF-8 encodes them as the exact same single bytes ASCII always used. A pure-ASCII file is already a valid UTF-8 file, byte for byte.

That backward compatibility is why UTF-8 won. English text costs nothing extra, existing ASCII tooling keeps working, and the moment you need é, 中文, or an emoji, the same encoding scales up to 4 bytes per character. Extended ASCII, by contrast, solved the "more characters" problem badly: 256 slots weren't enough, so every region invented its own code page, and the same byte meant a different character depending on whose computer opened the file.

── UTF-8 VS UTF-16 VS UTF-32────────────────────────────────────────────────────────

Unicode defines what each character's number is; the UTF encodings define how those numbers become bytes.

ENCODINGBYTES / CHARSTRENGTHSWEAKNESSES
UTF-8 1–4 bytes ASCII-compatible · compact for English · dominant on the web Variable width makes string indexing non-trivial
UTF-16 2 or 4 bytes Native to JavaScript, Java, and Windows APIs Not ASCII-compatible · surrogate pairs complicate processing
UTF-32 4 bytes fixed Fixed width — trivial indexing Wastes memory · rarely used outside internal processing

── HOW WE GOT HERE────────────────────────────────────────────────────────

1963 ASCII published — 7 bits, 128 characters, built for teleprinters and English text.
1981 IBM PC ships Code Page 437 — the first widely used "Extended ASCII", soon fragmenting into dozens of incompatible code pages.
1991 Unicode 1.0 released — one code point for every character in every language.
1993 UTF-8 invented by Ken Thompson and Rob Pike — Unicode that stays byte-compatible with ASCII.
2010 Emoji join Unicode 6.0, cementing it as the encoding of everyday communication.
today UTF-8 encodes ~98% of the web. ASCII lives on as its first 128 code points.

── FAQ────────────────────────────────────────────────────────

[+] What is the difference between ASCII and Unicode?
Scope. ASCII defines 128 characters — enough for English text and control codes. Unicode defines a code point for every character in every writing system, over 155,000 so far, plus symbols and emoji. Unicode deliberately kept ASCII as its first 128 code points, so ASCII is best understood as the oldest corner of Unicode.
[+] Is ASCII still used today?
Constantly — just usually under the name UTF-8. Protocol keywords, source code, config files, URLs, and identifiers are overwhelmingly pure ASCII, and some strict systems still reject anything outside it. Our non-ASCII checker exists precisely because that constraint keeps biting people.
[+] What is Extended ASCII, and should I use it?
"Extended ASCII" is any 8-bit encoding that keeps ASCII in 0–127 and puts extra characters in 128–255 — CP437's box-drawing characters, ISO-8859-1's accented letters, Windows-1252's smart quotes. Because byte 233 means é in one code page and Θ in another, mixing them produces mojibake (garbled text). For new work, always use UTF-8; Extended ASCII matters only when decoding legacy files.
[+] Why does text sometimes turn into garbage like ’ or �?
That's an encoding mismatch: bytes written in one encoding, decoded as another. ’ is the classic case — a UTF-8 apostrophe (three bytes) misread as three Windows-1252 characters. The fix is always the same: find out what encoding the bytes actually are, and decode with that. It's the strongest practical argument for using UTF-8 everywhere.

── RELATED TOOLS────────────────────────────────────────────────────────

→ full ascii table → ascii converter → ascii keyboard map → non-ascii checker → unicode symbols
── SYMBOLS
all symbols → shrug ¯\_(ツ)_/¯ table flip (╯°□°)╯︵ ┻━┻ lenny face ( ͡° ͜ʖ ͡°) heart symbol ❤ emoticons collection
── TABLE
full ascii table degree symbol ° ascii vs unicode
── CONVERTERS
hex to ascii universal converter
── TOOLS
image to ascii text to ascii art non-ascii checker ascii keyboard map
── SITE
home about privacy contact
NORMAL ~/compare utf-8 ascii ⊂ unicode