Unicode Inspector
See every character in your text, including invisible ones, with codepoints and risk warnings.
Input
Every character is analysed in your browser.
Output
| Char | Code | Name | Note |
|---|---|---|---|
| H | U+0048 | Uppercase letter | — |
| e | U+0065 | Lowercase letter | — |
| l | U+006C | Lowercase letter | — |
| l | U+006C | Lowercase letter | — |
| o | U+006F | Lowercase letter | — |
| U+200B | U+200B | ZERO WIDTH SPACE | Completely invisible. Commonly used to hide messages or watermark text. |
| U+0020 | U+0020 | Separator | — |
| w | U+0077 | Lowercase letter | — |
| o | U+006F | Lowercase letter | — |
| r | U+0072 | Lowercase letter | — |
| l | U+006C | Lowercase letter | — |
| d | U+0064 | Lowercase letter | — |
| U+FEFF | U+FEFF | ZERO WIDTH NO-BREAK SPACE (BOM) | Invisible. A byte-order mark inside text usually arrives by accident — or hides data. |
| U+0020 | U+0020 | Separator | — |
| — | U+2014 | Punctuation | — |
| U+0020 | U+0020 | Separator | — |
| n | U+006E | Lowercase letter | — |
| o | U+006F | Lowercase letter | — |
| r | U+0072 | Lowercase letter | — |
| m | U+006D | Lowercase letter | — |
| a | U+0061 | Lowercase letter | — |
| l | U+006C | Lowercase letter | — |
| U+0020 | U+0020 | Separator | — |
| t | U+0074 | Lowercase letter | — |
| e | U+0065 | Lowercase letter | — |
| x | U+0078 | Lowercase letter | — |
| t | U+0074 | Lowercase letter | — |
| U+0020 | U+0020 | Separator | — |
| c | U+0063 | Lowercase letter | — |
| a | U+0061 | Lowercase letter | — |
| n | U+006E | Lowercase letter | — |
| U+0020 | U+0020 | Separator | — |
| h | U+0068 | Lowercase letter | — |
| i | U+0069 | Lowercase letter | — |
| d | U+0064 | Lowercase letter | — |
| e | U+0065 | Lowercase letter | — |
| U+0020 | U+0020 | Separator | — |
| t | U+0074 | Lowercase letter | — |
| h | U+0068 | Lowercase letter | — |
| i | U+0069 | Lowercase letter | — |
| n | U+006E | Lowercase letter | — |
| g | U+0067 | Lowercase letter | — |
| s | U+0073 | Lowercase letter | — |
| . | U+002E | Punctuation | — |
- Characters
- 44
- Codepoints
- 44
- Bytes
- 50
- Words
- 8
- Invisible
- 2
What this tool does
The Unicode Inspector breaks text into its individual characters and shows you what each one really is: its codepoint, its name, and whether it belongs there. Invisible characters that render as nothing on screen are listed explicitly, so text can no longer lie to you about its contents.
Reading the results
- Safe — an ordinary visible character doing an ordinary job.
- Notice — unusual but often legitimate. A non-breaking space from a web page, or the joiner holding an emoji family together.
- Risk — invisible or deceptive, and rarely present by accident. Zero-width spaces, bidirectional overrides, and stray byte-order marks land here.
Why invisible characters end up in text
Most arrive by accident. Copying from a web page, a PDF, or a word processor drags along non-breaking spaces, soft hyphens, and byte-order marks. They look identical to normal text but break exact matching, search, and code in ways that are maddening to debug precisely because you cannot see the cause.
Some are deliberate. Zero-width characters can carry a hidden message or a watermark that identifies which copy of a document leaked — see Invisible Textfor how that works.
A few are hostile. The right-to-left override U+202E visually reverses the text that follows it, which is how a file named exe.txt can appear as something harmless. The same trick, known as Trojan Source, can make source code read differently to a reviewer than it does to a compiler.
Graphemes versus codepoints
The inspector reports both, and the gap between them is often the interesting part. A family emoji like 👨👩👧 is one character to a reader, but several codepoints joined by invisible glue. When a text field rejects your input for being too long while looking short, this is usually why.
What to do next
Found something you did not expect? The Unicode Cleanerstrips invisible characters and normalises the text back to something predictable.
FAQ
What does the Unicode Inspector show me?
It breaks your text into individual characters and shows each one with its Unicode codepoint, its official name, and whether it is safe, worth noticing, or a risk. Invisible characters that show nothing on screen are listed explicitly, so you can see exactly what a piece of text contains.
Why would text contain invisible characters?
Sometimes by accident: copying from a web page or word processor can bring along non-breaking spaces, soft hyphens, or a byte-order mark. Sometimes on purpose: zero-width characters are used to watermark documents, hide messages, or trace who leaked a file. Occasionally maliciously, as in right-to-left override attacks that make a filename look harmless.
What does the risk level mean?
Safe means an ordinary visible character. Notice means something unusual but often legitimate, such as a non-breaking space or an emoji joiner. Risk means a character that is invisible or deceptive and rarely appears in normal text by accident, such as a zero-width space or a bidirectional override.
Is my text uploaded anywhere?
No. The inspector runs entirely in your browser. Nothing is sent to a server, logged, or stored, and the tool works offline.
What is a codepoint?
A codepoint is the number Unicode assigns to a character, written like U+200B. It identifies the character precisely, which matters because many characters look identical on screen but are completely different to a computer.