Unicode Inspector
See every character for what it is β including the ones you cannot see, which are usually the problem.
Runs entirely in your browser
Loading tool...
How to use
- Paste the text that is misbehaving β a password, a filename, a URL, a line from a CSV.
- Read the summary: three different counts, because three different systems measure differently.
- Look for anything marked invisible β that is usually what is breaking the comparison.
- Copy the escape or entity form when you need to write the character into code.
Features
- Code point, escape sequence, HTML entity and URL encoding for every character.
- Zero-width spaces, non-breaking spaces and directional marks flagged.
- Cyrillic and Greek letters that impersonate Latin ones called out by name.
- Code points, UTF-16 units and UTF-8 bytes counted separately.
- Runs entirely in your browser β nothing you paste leaves the page.
Frequently asked questions
- Why do I get three different character counts?
- Because three different things are being counted. A person counts code points: π is one character. JavaScript's `String.length` counts UTF-16 units, and gives 2. A database column limit and an HTTP header count UTF-8 bytes, and give 4. Text that fits one limit can fail another, which is why all three are shown.
- What is a zero-width space doing in my text?
- Usually a website put it there to allow a line break inside a long word, and it survived the copy. It has no width, so the text looks identical β but the string is not equal to the one without it, which is why a password fails, a lookup misses, or two rows that look the same refuse to match.
- What does the confusable warning mean?
- That the text mixes Latin letters with letters from another script that look identical. `Π°pple` with a Cyrillic Π° renders exactly like `apple` and is a different string entirely β the mechanism behind a whole class of phishing domains. The warning appears only when the surrounding text is Latin, because a Cyrillic letter in Cyrillic text is just a letter.
Related tools
Count characters with and without spaces.
Escape text so a browser renders it instead of running it β and read entities back into the characters they stand for.
Fix text that has been through a PDF, an email client or a word processor β one decision per switch.