Developer tool / 17
Unicode & Invisible Character Inspector
Inspect text for hidden zero-width spaces, control characters, RTL override marks, and Unicode code points.
Unicode & Invisible Character Inspector: TOEA decodes text into individual Unicode code points, identifies invisible characters (such as ZWSP or NBSP), and calculates UTF-8 byte sequences. Runs 100% locally in your browser with zero server file uploads.
- Category
- Developer tools
- Runs
- In your browser
- Cost
- Free · no sign-up
- Availability
- Ready to use
Runs entirely in your browser
Text & Character Summary
Detailed Code Point Breakdown
| Pos | Char | Code Point | UTF-8 Bytes | Category / Name |
|---|---|---|---|---|
| 0 | H | U+0048 | 48 | Letter 'H' |
| 1 | e | U+0065 | 65 | Letter 'e' |
| 2 | l | U+006C | 6C | Letter 'l' |
| 3 | l | U+006C | 6C | Letter 'l' |
| 4 | o | U+006F | 6F | Letter 'o' |
| 5 | ⚠️ | U+200B | E2 80 8B | Zero Width Space[HIDDEN] |
| 6 | W | U+0057 | 57 | Letter 'W' |
| 7 | o | U+006F | 6F | Letter 'o' |
| 8 | r | U+0072 | 72 | Letter 'r' |
| 9 | l | U+006C | 6C | Letter 'l' |
| 10 | d | U+0064 | 64 | Letter 'd' |
| 11 | ! | U+0021 | 21 | Symbol '!' |
| 12 | ⚠️ | U+00A0 | C2 A0 | Non-Breaking Space (NBSP)[HIDDEN] |
| 13 | 🚀 | U+1F680 | F0 9F 9A 80 | Character '🚀' |
| 14 | U+0020 | 20 | Space | |
| 15 | T | U+0054 | 54 | Letter 'T' |
| 16 | e | U+0065 | 65 | Letter 'e' |
| 17 | s | U+0073 | 73 | Letter 's' |
| 18 | t | U+0074 | 74 | Letter 't' |
| 19 | U+0020 | 20 | Space | |
| 20 | ⚠️ | U+200E | E2 80 8E | Left-To-Right Mark[HIDDEN] |
| 21 | T | U+0054 | 54 | Letter 'T' |
| 22 | e | U+0065 | 65 | Letter 'e' |
| 23 | x | U+0078 | 78 | Letter 'x' |
| 24 | t | U+0074 | 74 | Letter 't' |
Where hidden characters come from
Most arrive by copy and paste. Word processors and web pages add non-breaking spaces, some content systems add zero-width spaces, and editors for Arabic or Hebrew text add direction marks. They cause bugs that are hard to see: a username that looks right fails to match, grep misses a word, and Python rejects source code containing a non-breaking space. Zero-width joiners inside emoji are legitimate, so check what a character is part of before stripping it.
Direction overrides
The right-to-left override, U+202E, reverses the display of the text after it. It has been used to disguise file names, making invoice followed by U+202E and fdp.exe display as invoiceexe.pdf. In 2021 the same trick, named Trojan Source, showed that source code could display differently from how it compiles. Treat any override found in a file name, code, or a message as suspicious.
Characters not flagged
The invisible list covers the common cases. Other characters that render as nothing, including the soft hyphen U+00AD, the word joiner U+2060, the direction isolates U+2066–U+2069, and variation selectors such as U+FE0F, appear as ordinary extended characters. Scan the code point column for them, or compare the counts: text whose character count is higher than what you can see has something hidden in it.
How to use it
- Type or paste text into the input box.
- Review character counts, UTF-8 byte breakdown, and zero-width warnings.
- Copy the detailed code point list.
Privacy & limitations
Text inspection takes place entirely in local browser memory.
Related tools
Frequently asked questions
Which hidden characters are detected?
Zero-width space (U+200B), non-breaking space (U+00A0), BOM (U+FEFF), ZWJ/ZWNJ, and control codes.
Why does character count differ from code points?
Surrogate pairs or emoji sequences can consist of multiple UTF-16 code units or code points.
Free tool · runs in your browser · no account required