What is Unicode?
Unicode is the universal standard for representing text. It assigns code points, or unique numbers, to characters across the world’s writing systems, punctuation, symbols, and emoji. Maintained by the Unicode Consortium, it lets software exchange text consistently, while fonts determine its appearance. Unicode 17.0, released in September 2025, encodes 159,801 characters.
More About Unicode
Unicode is maintained by the Unicode Consortium, a non-profit organization that standardizes how text is represented in software. Before Unicode, computers used hundreds of conflicting character encodings. Two encodings could assign the same number to different characters, and no single encoding covered even English's letters, punctuation, and technical symbols. Text passed between systems risked corruption. Unicode replaced that patchwork with one universal character set.
Unicode covers alphabetic scripts, right-to-left scripts, punctuation, technical symbols, emoji, diacritics, and more. Unicode 17.0, released September 9, 2025, encodes 159,801 characters, per the Unicode Consortium; that release added 4,803 characters, including 4 new scripts. A new version ships roughly once a year, so the count keeps growing.
How Unicode works
Unicode assigns every character a unique number called a code point, written as U+ followed by a hexadecimal (base-16) value. The capital letter A is U+0041. The grinning face emoji (😀) is U+1F600. A code point is only a number, though. Before text can be stored or sent over a network, those numbers must be turned into bytes, and that's the job of encoding forms like UTF-8. When systems agree on an encoding such as UTF-8, code points can move between them without character remapping, although the fonts installed on each device still determine which glyphs appear.

Unicode vs. UTF-8, UTF-16, and UTF-32
The names often get used interchangeably, but Unicode and UTF-8 do different jobs:
- Unicode is the character set. It assigns each character a numbered code point.
- UTF-8, UTF-16, and UTF-32 are encoding forms. They turn those code points into bytes for storage and transmission.
UTF-8 is the web's default. W3Techs' August 2026 survey measures it on 99.0% of all websites whose character encoding it can identify. In short: Unicode maps characters to numbers, and UTF-8 defines how those numbers travel as bytes.
Unicode vs. ASCII
ASCII came first, and Unicode was built to absorb it rather than replace it:
- ASCII encodes 128 characters in 7 bits: unaccented English letters, digits, basic punctuation, and control codes.
- Unicode encodes 159,801 characters covering every major writing system, and its first 128 code points are identical to ASCII.
That overlap makes Unicode a backward-compatible superset of ASCII. UTF-8 encodes those first 128 characters as their normal one-byte ASCII values, so a plain ASCII file is also valid UTF-8 (RFC 3629).
Unicode on your website
Use UTF-8 at every layer of your site. Three places to set it:
- Declare it in your HTML: put
<meta charset="UTF-8">near the top of the<head>section. - Save your source files as UTF-8. Every modern code editor defaults to it or offers it as a save option.
- Use the utf8mb4 character set in MySQL databases so 4-byte characters like emoji store correctly. WordPress has upgraded tables to utf8mb4 since version 4.2 (April 2015); MySQL's older utf8 set stores only 3-byte characters.
The decision rule is simple: use UTF-8 everywhere unless a legacy system forces a different encoding.
Mojibake: when text breaks
Save text in one encoding and decode it as another, and readers see garbage. A curly apostrophe (’) saved as UTF-8 but read in a legacy encoding can come out as ’, and characters the decoder can't map at all show up as the � replacement character (U+FFFD). The pattern is common enough to have a name: mojibake.
The fix is consistency. Declare, store, and serve the same encoding, UTF-8, at every layer: the file itself, the HTML meta tag, the HTTP Content-Type header, and the database. If garbled text appears after a site migration, compare the database character set with the page's declared encoding first.
Frequently Asked Questions
- Yes, but not every emoji has one code point. Some are single characters; flags, family emoji, and skin-tone variants are sequences of multiple code points that software renders together. The Unicode Consortium approves new emoji, and Unicode Technical Standard #51 defines recognized emoji characters and sequences.
- Yes. Internationalized domain names (IDNs) allow Unicode labels, stored as ASCII-compatible Punycode under IDNA rules; the Unicode Consortium's UTS #46 covers compatibility processing and UTS #39 targets spoofing. Be careful with lookalike characters: homograph attacks use them to imitate familiar domains.
- Yes. The Unicode Standard is free to use. It's maintained by the non-profit Unicode Consortium, funded through membership dues and donations, and its specifications and data files are published openly at unicode.org. Anyone can implement the standard without paying a license fee.
Custom Website Design
Get a one-of-a-kind, mobile-friendly website that makes your brand truly shine. Share your vision with us and we'll take it from there.
Custom Web Design