| Char | Code point | Name and category | Script | UTF-8 | UTF-16 |
|---|---|---|---|---|---|
|
|
Joiners, variation selectors and tag characters inside emoji (👨👩👧, ❤️, flags) are kept, and so is the zero width non-joiner between letters of scripts like Persian that need it.
Normalization forms
About the Unicode Character Inspector
This inspector breaks text into characters and shows each code point: its U+ number, name, general category, script, UTF-8 bytes and UTF-16 code units. Emoji sequences and accented letters are grouped the way you see them on screen (grapheme clusters), so 👨👩👧 shows as one character made of five code points.
It highlights the characters that cause bugs and security problems: zero-width spaces and joiners, the byte order mark, no-break and other unusual spaces, soft hyphens, bidirectional controls used in "Trojan Source" attacks, invisible tag characters and stray variation selectors. It also flags look-alike letters, such as Cyrillic "а" in a Latin word or fullwidth "A", and words that mix scripts.
How to use it
- Paste the text: a password that won't work, a string that won't match, a suspicious link.
- Read the warnings, then find each flagged character in the table and in the highlighted view.
- Copy the clean version, or one of the normalization forms (NFC, NFD, NFKC, NFKD).
Examples
- A zero-width space: "password" with an invisible U+200B in the middle.
- A look-alike domain: the second letter is CYRILLIC SMALL LETTER A.
- Combining accents: é written as e plus U+0301, which NFC turns into one code point.
Common questions
Why is my string longer than it looks?
JavaScript's length counts UTF-16 code units: an emoji outside the Basic Multilingual Plane takes two, and a family emoji takes eight. The stats show graphemes, code points, UTF-16 units and UTF-8 bytes side by side.
What is Trojan Source?
Bidirectional control characters such as U+202E reorder how text is displayed. In source code they can make a comment look like code, or code look like a comment, so a reviewer sees something different from what the compiler runs (CVE-2021-42574).
Which normalization form should I use?
Store and compare text in NFC. Use NFKC when you want look-alike compatibility characters folded, for example to match usernames.
Related tools
- Punycode Converter: check an internationalized domain name.
- Text Diff: compare two strings that look the same.
- HTML Entities: escape special characters for HTML.