Unicode is a system that gives characters a unique number. Computers use these numbers to represent text from many different writing systems. Before Unicode, computers often used different character encoding systems, which could cause text to appear as confusing symbols when moved between systems.
This guide explains what Unicode really is. It also covers why we needed it, how it assigns numbers, and how it is different from ASCII and UTF-8, two terms people often mix up with Unicode itself.
Where Unicode Came From
Before Unicode, computers used many different systems to store text. Some systems were designed for specific languages or regions. When text moved from one system to another, it could turn into strange symbols instead of readable words.
Old computers used a system called ASCII. ASCII uses 128 character codes. These cover English letters, numbers, punctuation, and control characters. It does not cover Chinese, Arabic, Korean, or most other writing systems.
To handle other languages, many different character encoding systems were created. Some of these systems used the same numbers for different characters. This meant that the same byte value could represent different characters in different encodings.
This mismatch created a real problem for anyone sharing text across different systems. Broken text like this even has its own name: mojibake. Text that was stored using one encoding could appear as random or unreadable symbols when it was interpreted using another encoding.
Picture sending a letter written in your own language to a friend in another country. Now imagine their computer reads every letter using a different rulebook than the one your computer used. Your friend might not see your words at all. They could see something else, even though the original text was correct. This is one of the problems Unicode was designed to solve.
| Era | Approach | Problem |
|---|---|---|
| Early computing | ASCII, 128 characters | Only basic English letters, symbols, and control characters |
| Before Unicode | Many separate regional systems | The same number could mean different characters in different systems |
| Unicode | One shared standard for text | Characters have stable code points across implementations |
Unicode was built to solve this problem by providing a shared standard for representing characters from different writing systems. Each encoded character has a defined code point.
How Unicode Assigns Numbers to Characters
Every character in Unicode gets a number, called a code point. It is written like this: U+0041. The number identifies the character independently of the font used to display it.
The digits after U+ form a hexadecimal number. Hexadecimal uses sixteen symbols, from 0 through 9 and A through F. The capital letter A, for example, has the code point U+0041.
Unicode organizes its code points into 17 planes. The first plane, called the Basic Multilingual Plane, contains many of the characters used in everyday writing. Other planes contain additional scripts, symbols, historic characters, and emoji.
Think of these planes like floors in a very tall building. The first floor contains many characters used in everyday writing. The upper floors contain more specialized characters, including ancient scripts and other additions. You usually do not need to think about which plane a character belongs to. Software handles that detail automatically.
A code point is just a number. It is not the same as how a computer stores that number inside a file. That separate step is called encoding, and it is explained fully in a guide to UTF-8 and UTF-16 encoding.
Unicode vs ASCII vs UTF-8
Unicode is the standard that defines code points and character properties. ASCII is a much older, smaller character encoding standard with 128 codes. UTF-8 is one way to encode Unicode code points as bytes.
| Term | What It Is | Scope |
|---|---|---|
| Unicode | A standard for representing characters and assigning code points | Covers a very large range of writing systems, symbols, and other characters |
| ASCII | An older character encoding standard | 128 character codes |
| UTF-8 | A way to encode Unicode characters as bytes | Can encode the full Unicode code point range |
A lot of people mix up these three terms. Here is why. The first 128 Unicode code points match the ASCII character set, and UTF-8 uses the same single-byte values for those characters. That overlap makes it easy to think UTF-8 and Unicode are the same thing. They are not. Unicode defines the characters and their code points. UTF-8 is one method for encoding those code points as bytes.
What Kinds of Characters Unicode Covers
Unicode covers far more than plain letters. It includes several broad groups of characters.
- Letters, from many alphabets and writing systems in use today, plus many historical scripts.
- Numbers and digits, including different numeral systems.
- Punctuation and symbols, covering everything from commas to mathematical and technical marks.
- Emoji, which are part of the Unicode Standard.
- Invisible and formatting characters, used for spacing, joining, control, and other text-processing purposes.
One example from that last group is Hangul Filler, a Unicode character with a specific role in Hangul-related text processing.
Some Unicode characters are also used together in sequences, while others can be represented using more than one code point. That detail is covered fully in a separate guide to Unicode normalization.
Unicode also covers technical and scientific symbols, such as mathematical operators, currency signs, arrows, and box-drawing characters. It also includes characters used in music notation and many other specialized areas.
Who Maintains Unicode
A group called the Unicode Consortium takes care of Unicode. It is a nonprofit organization, not a single company. Its members include companies, governments, research and educational institutions, industry groups, and individuals involved in internationalization and text processing.
The Consortium reviews proposals for new characters and other changes to the standard. It also publishes new versions of the Unicode Standard.
People and organizations can submit proposals for new characters. The Unicode Consortium has specific requirements and review processes for character and script proposals. Emoji proposals follow their own process.
This structure helps Unicode serve as a shared standard rather than a system controlled by one company.
How Unicode Versions and Updates Work
Unicode is not a fixed document that never changes. New versions are released over time. Unicode has followed a predictable annual major-release schedule since Version 7.0, with major releases targeted for the third quarter since Version 14.0.
Each new version can add new characters, symbols, and other updates. Code points that have already been assigned are not reused for different characters. Unicode has a stability policy that helps preserve the meaning of existing encoded characters.
This rule matters a lot. It means software can continue to agree on what an existing code point represents even as the Unicode Standard grows.
New emoji go through a formal review process before they become part of the Unicode Standard. This is why a proposed emoji can take time before it becomes an official Unicode character.
Software companies also need time after a new Unicode version is released before every device fully supports new characters. A new character might be officially part of Unicode but still show up as a blank box on an older device if its fonts or software do not support it.
Unicode 17.0 was released on September 9, 2025. Unicode 18.0 is currently planned for September 16, 2026.
Common Myths About Unicode
| Myth | Fact |
|---|---|
| Unicode is the same thing as UTF-8. | UTF-8 is one way to encode Unicode code points as bytes. Unicode is the broader standard. |
| One big tech company owns Unicode. | The Unicode Consortium is a nonprofit organization with many members that maintains the standard. |
| Every device shows every Unicode character correctly. | Display depends on software, fonts, and support for the particular character. |
What Is Unicode: Frequently Asked Questions
What does the name Unicode actually mean?
The name reflects the project’s goal of providing a uniform and universal system for representing text across different languages and systems.
Is Unicode the same as a font?
No. Unicode defines characters and their code points. A font is separate software that provides the visual shapes used to display those characters.
Who created Unicode and when did it start?
Unicode began as a collaborative effort among people from several technology companies who wanted a better way to handle text across different languages and systems. The Unicode Consortium was later established to develop and maintain the standard.
Why do some characters still show up as a box or question mark?
This usually means the software or font being used does not support that particular character. The code point can still be stored correctly even when the device cannot display the character.
Does every device support all of Unicode?
No. Support depends on the operating system, software, fonts, and the particular Unicode characters being used. Newer characters can take time to reach different devices.
How many characters does Unicode include?
The exact number changes as new versions are released. Unicode 17.0 contains more than 150,000 encoded characters, and future versions can add more.
Is Unicode free to use?
The Unicode Standard and its specifications are publicly available, and Unicode provides freely available specifications and data for software internationalization.
How often does Unicode add new characters?
Major Unicode releases are scheduled annually. Each release can add new characters and other updates, while previously assigned code points keep their existing meanings.
