Unicode 16.0 character database is ready

Unicode Character lookup tool

Complete Unicode character query, analysis and encoding tool. Covers 13 major categories, supports Character Analyzer and Unicode Inspector, and has built-in UTF-8/UTF-16 encoding real-time operation.

Character Analyzer character analyzer Instantly analyze Unicode information for each character
Unicode Inspector character detector Detect ZWJ sequences and combined character structures
Enter Emoji or text and click "Detect" to view the structure...
Unicode character table

What is Unicode?

Unicode (Unicode/Universal Code) is an international character encoding standard designed to cover text and symbols in all writing systems in the world. Maintained by the Unicode Consortium, the latest version is Unicode 16.0 (released in 2024), which contains more than 154,000 characters.

Unicode assigns a unique number to each character, called a Code Point, in the format U+XXXX. For example:U+0041 stands for A,U+4E2D Represents "middle",U+1F600 stands for 😀.

Key points: Unicode is just a "dictionary" of character encoding, and actual storage and transmission rely on encoding methods such as UTF-8 and UTF-16.

Differences between ASCII, Unicode, and UTF-8

Compare items Unicode UTF-8 ASCII
rolecharacter encoding standardCoding implementationold coding standards
number of bits21 bits (Code Point)8–32 bits (variable)7 bits
Number of characters154,000+Same as Unicode128
Language supportAll languages around the worldSame as UnicodeEnglish only
Backward compatible ASCIINoYes
Application scenariosCoding standards definitionWeb, archives, communicationsOld system, embedded

Differences between UTF-8 and UTF-16

Features UTF-8 UTF-16
Byte orderLittle-EndianOptional BOM (U+FEFF)
BMP (U+0000-U+FFFF)1-3 bytes2 bytes
Outside BMP (U+10000+)4 bytes4 bytes (Surrogate Pair)
Web page usage~98%<2%
FeaturesSpace efficient, ASCII compatibleSuitable for CJK and BMP characters

UTF-8 is already the absolute mainstream on the Internet (about 98% of websites use UTF-8), but Windows internally and some older systems prefer UTF-16.

How are Emoji encoded?

Emoji are Unicode characters too! They are allocated in specific Unicode blocks, mainly in:

  • U+1F600-U+1F64F: Emoticons (emoticons)
  • U+1F300-U+1F5FF: Miscellaneous Symbols and Pictographs (Miscellaneous symbols and pictographs)
  • U+1F680-U+1F6FF:Transport and Map Symbols
  • U+2600-U+26FF: Miscellaneous Symbols (miscellaneous symbols, such as ☀ ☂ ☎ ⚠)
  • U+2700-U+27BF: Dingbats (decorative symbols, such as ✂ ✉ ✈ ✊)

Emoji can be displayed via ZWJ(Zero Width Joiner, U+200D) Combine multiple characters into a complex Emoji. For example:

👨 (U+1F468) + ZWJ (U+200D) + 👩 (U+1F469) + ZWJ (U+200D) + 👧 (U+1F467) + ZWJ (U+200D) + 👦 (U+1F466) = 👨‍👩‍👧‍👦

Additionally, Emoji can be used Variation Selector (U+FE0F) Specify the Emoji style, and Regional Indicator(U+1F1E6-U+1F1FF) combine to form the national flag.

Unicode FAQ

What is the relationship between Unicode and UTF-8?
Unicode is a character encoding standard that defines the Code Point corresponding to each character (for example, U+4E2D represents "center"). UTF-8 is a Unicode storage and transmission encoding method that converts Code Points into variable-length byte sequences. It can be understood this way: Unicode is a "dictionary" and UTF-8 is "how to package". In addition to UTF-8, there are other encoding methods such as UTF-16 and UTF-32.
What is Code Point?
Code Point is a unique numeric number assigned by Unicode to each character, in the format U+XXXX, ranging from U+0000 to U+10FFFF. For example, the Code Point of A is U+0041, and 😀 is U+1F600. Code Point is usually expressed in hexadecimal, but is essentially an integer. Unicode divides all Code Points into 17 planes (Plane), each plane contains 65,536 code points.
What is a Surrogate Pair?
Surrogate Pair is a mechanism used in UTF-16 encoding to represent characters other than BMP (Basic Multilingual Plane) (U+10000 and above). It uses two 16-bit code units: high surrogate (U+D800-U+DBFF) and low surrogate (U+DC00-U+DFFF). For example, 😀 (U+1F600) is encoded in UTF-16 as D83D DE00. that's why String.length Emoji calculations in JavaScript can be inaccurate.
What is ZWJ (Zero Width Joiner)?
ZWJ (U+200D) is an invisible control character used to connect multiple Unicode characters into a composite graphic. The most common application is the Emoji ZWJ sequence, for example 👨‍👩‍👧‍👦 (family) is composed of 👨 + ZWJ + 👩 + ZWJ + 👧 + ZWJ + 👦. If the device does not support the combination, it will be displayed as a separate character. ZWJ sequences allow Emoji to be infinitely scalable without the need to allocate separate Code Points to each combination.
What is BOM (Byte Order Mark)?
BOM (U+FEFF) is a Unicode character used to indicate the byte order (Endianness) of a text stream. In UTF-16 and UTF-32, the BOM can indicate whether it is Big-Endian or Little-Endian. In UTF-8, BOM has no meaning (because UTF-8 is byte order independent), but some Windows applications (such as Notepad) will add BOM (EF BB BF) at the beginning of UTF-8 files. This can cause problems in some Unix/Linux tools.
How to tell whether a character is ASCII or Unicode?
Checks whether the character's Code Point is in the range 0-127. If so, the character is ASCII-compatible. Specifically: U+0000 to U+007F are standard ASCII characters; U+0080 to U+00FF are Latin-1 Supplement (extended ASCII); U+0100 and above are true Unicode extended characters. In UTF-8, ASCII characters require only 1 byte (leading 0), while non-ASCII characters use 2-4 bytes (leading 1). You can use this tool's Character Analyzer to quickly see complete information for any character.
What's new in Unicode 16.0?
Unicode 16.0 (released in 2024) adds about 5,000 new characters, including new CJK unified Chinese characters (Extension I), more hieroglyphs, music symbols, and multiple new Emoji. The Unicode Consortium releases new versions every year to continuously expand character coverage. You can unicode.org View the full version changelog.
Operation successful