Goldkey post header banner blue

What Is Unicode? Decoding the Meaning, Examples, Code Points, and How It Works

Unlock the Power of Symbols

Unicode

Share on Social Media

What Is Unicode? Decoding the Meaning, Examples, Code Points, and How It Works

Here's what you will find:

Unicode is a universal character encoding standard that assigns a unique code point to every letter, number, symbol, emoji, and script character. It’s the system that lets computers, phones, websites, and apps display text consistently across different platforms and languages.

Without it, sending a message in Japanese from a phone in Tokyo to a laptop in London would be a mess of garbled characters. You’ve been using Unicode every single day, probably without realizing it. Every emoji you send, every accented letter you type, every currency symbol on a website; that’s all Unicode working behind the scenes.

This guide breaks down what Unicode actually means, how code points work, the difference between Unicode and ASCII, how to type Unicode symbols, and why it matters. Let’s get into it.

What is Unicode Infographic

What Does U+ Mean in Unicode?

If you’ve seen a character written as U+0041 or U+1F600 and wondered what that means, here’s the short answer. The U+ prefix stands for “Unicode,” and the number after it is a hexadecimal code point that identifies one specific character in the entire Unicode system.

Think of it like a postal code for characters. Every letter, symbol, and emoji gets its own unique address. The letter A is U+0041. The copyright symbol © is U+00A9. The grinning face emoji 😀 is U+1F600. No two characters share the same code point, and that’s what makes the whole system work.

Here’s a quick look at how some familiar characters map to their Unicode code points.

CharacterUnicode Code PointName
AU+0041Latin Capital Letter A
©U+00A9Copyright Sign
U+2248Almost Equal To
U+222BIntegral
U+2605Black Star
😀U+1F600Grinning Face
¥U+00A5Yen Sign
U+2713Check Mark

Web developers use these code points as HTML entities to display symbols in web pages. For example, typing ✓ in your HTML code renders the check mark symbol ✓ in the browser. You can use either the hex format (©) or the decimal format (©) for the same result.

How Unicode Works

Unicode assigns every character a code point, but it doesn’t dictate exactly how those code points get stored in computer memory. That’s where encoding formats come in. The three main ones are UTF-8, UTF-16, and UTF-32, and each one handles the translation from code point to bytes a little differently.

  • UTF-8 is by far the most popular encoding on the web. It uses one to four bytes per character, depending on what the character is. Basic English letters and numbers use just one byte, which makes it fast and efficient for most Western text. More complex characters like Chinese ideographs or emoji use more bytes. The best part is that UTF-8 is backward compatible with ASCII, so older systems can still read the basic characters without any changes.
  • UTF-16 uses two or four bytes per character. It’s commonly used in operating systems like Windows and in programming languages like Java and JavaScript. For characters outside the Basic Multilingual Plane (the first 65,536 code points), UTF-16 uses pairs of code units called surrogate pairs.
  • UTF-32 uses a flat four bytes for every character. It’s simple but memory-heavy, so it’s rarely used for storing or transmitting text. You’ll mostly see it in internal processing where fixed-width characters simplify things.

Unicode Planes Explained

Unicode organizes its entire character space into 17 planes, each containing 65,536 code points. You can think of planes like floors in a building; most of the action happens on the ground floor, but there’s a lot more above it.

Here’s how the planes break down.

PlaneNameCode Point RangeWhat’s There
0Basic Multilingual Plane (BMP)U+0000 – U+FFFFMost everyday characters, including Latin, Greek, Cyrillic, Chinese, Japanese, Korean, Arabic, Hebrew, and common symbols
1Supplementary Multilingual Plane (SMP)U+10000 – U+1FFFFEmoji, historic scripts, musical notation, mathematical alphanumeric symbols
2Supplementary Ideographic Plane (SIP)U+20000 – U+2FFFFRare and historic CJK (Chinese, Japanese, Korean) ideographs
3Tertiary Ideographic Plane (TIP)U+30000 – U+3FFFFAdditional CJK ideographs added in recent Unicode versions
4-13UnassignedU+40000 – U+DFFFFReserved for future use
14Supplementary Special-purpose Plane (SSP)U+E0000 – U+EFFFFTag characters and format control characters
15-16Private Use PlanesU+F0000 – U+10FFFFReserved for custom, application-specific characters
  • Plane 0 (the BMP) is where you’ll find the vast majority of characters you use every day. English letters, numbers, punctuation, mathematical symbols, currency signs, and characters from most living scripts all live here. If you’re typing in any modern language, you’re almost certainly working within the BMP.
  • Plane 1 (the SMP) is where things get fun. This is where emoji live, along with historic scripts like Egyptian hieroglyphs, musical symbols, and specialty mathematical notation. When you send a 🎉 or a 🦊, your device is reaching into Plane 1 to find the right code point.
  • Planes 2 and 3 are dedicated to rare and historical CJK ideographs. As of Unicode 17.0, the total number of CJK ideographs in the standard has crossed the 100,000 mark, and most of those extra characters are stored on these supplementary planes.

The remaining planes are mostly reserved for future expansion or private use, meaning organizations can assign their own characters there for internal purposes without conflicting with the official standard.

Unicode vs. ASCII

Before Unicode, the dominant encoding standard was ASCII (American Standard Code for Information Interchange). ASCII was created in the 1960s and could represent 128 characters total. That covered uppercase and lowercase English letters, digits 0-9, basic punctuation, and a handful of control characters.

Here’s the problem. 128 characters is enough for English, but it can’t handle French accents, Chinese characters, Arabic script, or emoji. ASCII was a tiny toolbox; fine for one job, useless for a global one.

Unicode solves this by expanding the character set to handle virtually every writing system on the planet. Here’s how the two standards compare.

FeatureASCIIUnicode
Total Characters128159,801 (as of version 17.0)
Scripts SupportedEnglish (Latin) only172 scripts
Emoji SupportNoYes
Encoding Size7 bits per characterVariable (1-4 bytes in UTF-8)
Backward CompatibleN/AUTF-8 is backward compatible with ASCII
Global Language SupportNoYes

The important thing to know is that Unicode didn’t throw ASCII away. UTF-8 encoding preserves all 128 ASCII characters using the exact same byte values, so anything that worked in ASCII still works in Unicode. Unicode just adds everything else on top.

Unicode vs. UTF-8

This is one of the most common points of confusion, so let’s clear it up. Unicode is the standard that defines what each character is and assigns it a code point. UTF-8 is one of several encoding formats that define how those code points are stored as bytes in computer memory.

Saying “Unicode or UTF-8?” is a bit like asking “English or handwriting?” One is the language; the other is a way of writing it down. Unicode is the master list of characters. UTF-8 is the most popular way of encoding that list into something computers can store and transmit. UTF-16 and UTF-32 are alternative encoding formats for the same standard, but UTF-8 dominates the web because it’s efficient and fully compatible with ASCII.

10 things to know about unicode infographic updated

The History of Unicode

The story of Unicode starts in the late 1980s, when the digital world was growing fast but different computer systems couldn’t agree on how to represent text. IBM had its encoding. Apple had its own. Microsoft had another. If you sent a document from one system to another, accented characters, special symbols, and non-English scripts often arrived as unreadable junk.

Two engineers, Joe Becker at Xerox and Lee Collins and Mark Davis at Apple, began working independently on a universal character set. Their efforts merged, and in 1991 the Unicode Consortium was officially formed by a coalition of tech companies including Apple, IBM, and Microsoft. The first version launched that same year with 7,161 characters from 24 scripts.

Over the next three decades, the standard grew enormously. UTF-8 was introduced in 1993, giving Unicode a practical encoding format that worked with existing software. Emoji were added to the standard starting in 2010, which brought Unicode into everyday conversation for millions of people who had never heard the term “code point” before.

As of Unicode 17.0, released in September 2025, the standard includes 159,801 characters across 172 scripts. Four new scripts were added in this latest version, including Beria Erfe (used by Zaghawa communities in central Africa) and Tolong Siki (used by Kurukh communities in northeast India). The next version, Unicode 18.0, is planned for September 2026.

How to Type Unicode Characters

You don’t need to be a developer to type Unicode symbols. Every major platform gives you a way to insert them. Here’s how to do it on each one.

PlatformMethodSteps
WindowsAlt CodeHold Alt, type the decimal code on the numpad (e.g., Alt + 0169 for ©)
WindowsCharacter MapOpen Character Map from the Start menu, find the symbol, copy and paste
MacUnicode Hex InputEnable Unicode Hex Input in System Preferences, then hold Option and type the hex code
MacCharacter ViewerPress Control + Command + Space to open the character picker
ChromebookUnicode InputPress Ctrl + Shift + U, type the hex code, press Enter
iOSBuilt-in KeyboardHold a letter key to see accented variants, or use the emoji keyboard for symbols
AndroidBuilt-in KeyboardLong-press letter keys for variants, or use the symbol menu on your keyboard

For web developers, the easiest method is using HTML entities. Type © or © for the copyright symbol, ✓ for a check mark, or ≈ for the approximately equal sign. The MDN Web Docs character reference is a helpful resource for looking up HTML entities.

Unicode in Programming

If you write code in any modern language, you’re already working with Unicode. Most languages have built-in support for Unicode strings, and you can insert any Unicode character directly into your code using escape sequences. Here’s what that looks like in the most common languages.

Python uses the \u prefix for characters in the Basic Multilingual Plane and \U for characters on supplementary planes. You can also use the chr() function to convert a code point integer to its character.

# Python
print("\u00A9")       # Output: ©
print("\u2713")       # Output: ✓
print("\U0001F600")   # Output: 😀
print(chr(0x2248))    # Output: ≈

JavaScript follows a similar pattern with \u for BMP characters and \u{} for any code point, including those above U+FFFF.

// JavaScript
console.log("\u00A9");      // Output: ©
console.log("\u2713");      // Output: ✓
console.log("\u{1F600}");   // Output: 😀

HTML lets you insert Unicode characters using named entities (like ©) or numeric entities in either decimal (©) or hexadecimal (©) format.

<!-- HTML -->
<p>&#x00A9; 2026 GoldKey Symbols</p>   <!-- © 2026 GoldKey Symbols -->
<p>Check: &#x2713;</p>                  <!-- Check: ✓ -->
<p>Approximately: &#x2248;</p>          <!-- Approximately: ≈ -->

The key thing to remember is that your source files need to be saved in UTF-8 encoding for Unicode characters to display correctly. Most modern editors default to UTF-8, but if you’re seeing garbled text in your output, that’s the first thing to check.

How to Look Up Any Unicode Character

Sometimes you need to find a specific character and you don’t know its code point. Here are the fastest ways to look one up on each platform, plus the best online tools.

  • On Windows, open the Character Map application from the Start menu. You can browse characters by font, search by name (type “check mark” or “copyright”), and see the Unicode code point for any character in the bottom-left corner. Select the character, click Copy, and paste it wherever you need it.
  • On Mac, press Control + Command + Space to open the Character Viewer. You can search by name or browse by category. Click the character you want to insert it directly at your cursor. For a more detailed view, click the gear icon and select “Customize List” to add Unicode blocks to your browser.
  • Online, the best free tools for character lookup are the official Unicode character charts from the Unicode Consortium and the Unicode character name index. Both let you search by character name, code point, or block. You can also try Compart’s Unicode lookup, which has a clean interface and displays properties for every character.

If you already have a character but don’t know its code point, paste it into any of these tools, or open a terminal and use a quick command. In Python, ord('✓') returns 10003, which converts to hex as 2713, giving you the code point U+2713.

Common Unicode Problems and How to Fix Them

If you’ve ever seen strange characters where normal text should be, you’ve run into a Unicode encoding problem. These issues are extremely common, and most of them have simple fixes. Here are the ones you’ll encounter most often.

The � Replacement Character

The black diamond with a question mark inside it (U+FFFD) is called the replacement character. It shows up when your system tries to read a sequence of bytes that doesn’t match any valid character in the expected encoding. This usually means the text was encoded in one format (like Windows-1252) but is being read as UTF-8.

The fix is to make sure both the sending and receiving systems agree on the same encoding. For web pages, adding <meta charset="UTF-8"> to the <head> section of your HTML is the single most important step.

Mojibake (Garbled Text)

Mojibake is the term for text that looks like a jumble of wrong characters, like “é” appearing instead of “é” or “’” instead of an apostrophe. This happens when text encoded in UTF-8 gets interpreted as a different encoding, or vice versa.

You’ll see it most often in databases, CSV exports, and email headers. To fix it, re-open the file or re-import the data with the correct encoding set to UTF-8. In many text editors, you can choose “Reopen with Encoding” and select UTF-8 to see the text correctly.

Missing Characters (Empty Boxes or Squares)

If you see an empty rectangle □ instead of a character, your device has the right code point but doesn’t have a font installed that can display it. This is common with newer emoji (before a platform releases its emoji update), historic scripts, and specialized mathematical symbols.

Installing a comprehensive Unicode font like Google’s Noto family, which aims to cover every Unicode script, usually solves the problem.

Double-Encoded Text

Sometimes text gets encoded as UTF-8 twice by mistake. The result looks similar to mojibake but with even longer garbled sequences. For example, the euro sign € might appear as “€”. This often happens when importing data through multiple systems that each apply their own encoding pass.

The fix is to decode the text once as UTF-8, then encode it back properly. In Python, you can use text.encode('latin-1').decode('utf-8') as a quick repair.

One of the most practical reasons people search for Unicode is to find symbols they can copy and paste. Here are some of the most frequently used ones, organized by category.

SymbolNameUnicodeCategory
©Copyright SignU+00A9Legal
Trade Mark SignU+2122Legal
®Registered SignU+00AELegal
°Degree SignU+00B0Science
±Plus-Minus SignU+00B1Mathematical Symbols
÷Division SignU+00F7Mathematical Symbols
For AllU+2200Mathematical Symbols
Almost Equal ToU+2248Mathematical Symbols
Check MarkU+2713Dingbats
Black StarU+2605Miscellaneous
Rightwards ArrowU+2192Arrows
Euro SignU+20ACCurrency
£Pound SignU+00A3Currency
¥Yen SignU+00A5Currency

You can copy any of these directly from this page and paste them into documents, emails, social media posts, or code. For a much larger collection, the official Unicode character charts hosted by the Unicode Consortium let you browse every character in the standard.

Who Maintains Unicode?

The Unicode Consortium is the non-profit organization responsible for developing and maintaining the Unicode Standard. Its members include major tech companies like Apple, Google, Microsoft, Meta, and Netflix, along with government agencies, universities, and individual contributors. The Consortium regularly releases updated versions of the standard to add new characters, scripts, and emoji.

Anyone can propose a new character for inclusion. The process involves submitting a formal proposal with evidence of the character’s use, and the Unicode Technical Committee reviews and votes on additions. That’s how emoji like the treasure chest and orca made it into Unicode 17.0.

Why Unicode Matters for Everyday Users

You might think Unicode is only relevant to software developers, but it touches your life constantly. Every text message, email, web page, search query, and social media post relies on Unicode to display correctly. When you type a heart emoji in a message on your iPhone and your friend sees it on their Android phone, Unicode is what makes that possible.

Unicode also plays a role in preserving languages. By encoding characters from minority, indigenous, and historical scripts, the standard gives communities a way to use their native writing systems digitally. Scripts that might otherwise fade from use can live on in text messages, websites, and educational materials, all because someone gave them a code point.

For web developers, designers, and content creators, understanding Unicode means knowing how to display the right symbols, avoid broken characters, and make content accessible globally. It’s the invisible foundation of multilingual communication.

Frequently Asked Questions About Unicode

How many Unicode characters are there?

As of Unicode 17.0, released in September 2025, the standard includes 159,801 characters across 172 scripts. The total grows with each new version as additional characters, scripts, and emoji are approved by the Unicode Consortium.

What is a Unicode code point?

A code point is the unique number assigned to a single character in the Unicode standard. It’s written with the U+ prefix followed by a hexadecimal number. For example, the letter A is U+0041 and the check mark ✓ is U+2713. The Unicode standard can support over 1.1 million possible code points.

Is emoji part of Unicode?

Yes. Emoji have been part of the Unicode Standard since 2010. Every emoji has its own code point, just like a letter or symbol. The grinning face 😀 is U+1F600, the red heart ❤ is U+2764, and the thumbs up 👍 is U+1F44D. As of Unicode 17.0 and Emoji 17.0, there are 3,953 emoji recommended for general use.

What’s the difference between Unicode and UTF-8?

Unicode is the standard that defines what each character is and assigns it a code point. UTF-8 is an encoding format that defines how those code points are stored as bytes. Think of Unicode as the dictionary of all characters, and UTF-8 as the most popular way of writing them down in computer memory.

Why do I see question marks or boxes instead of characters?

Question marks, black diamonds (�), or empty boxes appear when your device can’t read or display a character correctly. This usually means the text was saved in one encoding but is being read in another, or your device doesn’t have a font installed that supports that character. Setting your encoding to UTF-8 and installing a comprehensive font like Google Noto fixes most of these issues.

Can I create my own Unicode character?

You can’t add characters to the official Unicode Standard yourself, but you can use the Private Use Areas (Planes 15 and 16, plus a section of Plane 0) to define custom characters for your own applications. These characters won’t display on other people’s devices unless they install your custom font. To propose a character for official inclusion, you can submit a formal proposal to the Unicode Consortium.

Now You Know Unicode

Unicode started as a solution to a messy problem, too many encoding systems that couldn’t talk to each other, and it grew into the backbone of every digital conversation happening on the planet.

From the letter A at U+0041 to the newest emoji in version 17.0, every character has its place. Next time you spot a symbol and wonder what it is or how to type it, you’ll know exactly where to look.

If someone you know has ever asked “how do I type that symbol?”, send this their way.

Every symbol has a story. GoldKey unlocks the meaning.

Get new symbol guides, shortcuts, and fun facts delivered to your inbox.

Subscribe to our newsletter

Symbol stories, quick tips, and new guides delivered to your inbox

Newsletter

GoldKey symbols logo

Unlocking the Power of Symbols: Explore, Learn, and Connect!