Unicode & Invisible Character Inspector
A tool that makes regular and full-width spaces, NBSP, zero-width spaces, and line endings (LF, CRLF, CR) visible, and shows each character's code point and position. You can also inspect the parts of emoji and combining characters and the NFC, NFD, NFKC, and NFKD normalization results — all processed in your browser.
To check line endings, paste the text or open a file. The input field displays them as LF, but the analysis uses the original line endings.
- Visible characters
- 0
- Code points
- 0
- UTF-16 units (JS length)
- 0
- UTF-8 bytes
- 0
- Invisible / special
- 0
- LF
- 0
- CRLF
- 0
- CR
- 0
Visualized
Enter text to see whitespace and invisible characters made visible.
· is a regular space; highlighted labels are invisible characters, special spaces, or line breaks. Hover a label to see its code point.
How to use
- Paste the text you want to inspect into the input field.
- Under "Visualized", invisible characters, special spaces, and line endings appear as highlighted labels.
- Under "Character details", check each character's code point, position, and kind. You can filter to invisible characters only.
- Under "Unicode normalization", compare each normalization form with the input and copy the result if needed.
About this tool
When strings that look identical fail to match in a search or validation, the cause is often an NBSP (no-break space), a full-width space, a zero-width space, different line endings, or different Unicode normalization. This tool lets you see those invisible differences character by character.
Text is split into visible characters (grapheme clusters), so emoji are never broken into halves of a surrogate pair. Characters made of several code points, such as family emoji or letters with combining accents, show each of their components.
Normalized results are only for review and copying and are never applied to your input automatically. Nothing you enter is sent to a server.
“é” and “é” made from e followed by combining accent U+0301 each look like one character. Enter the latter to see two code points, U+0065 and U+0301, while its NFC result becomes “é”. This is a useful example when visually identical strings fail to match.
Ordinary spaces are visualized but excluded from the special-character total. The special-only view also retains characters made from multiple code points, including combining sequences; appearing in that view does not mean a character should be removed.
Frequently asked questions
Why do "Visible characters" and "Code points" differ?
Combined emoji and combining characters display as one character made of several code points. JavaScript's length counts UTF-16 units, so a single emoji can count as 2.
What's the difference between NFC and NFKC?
NFC unifies characters that look and mean the same into one form. NFKC also converts compatibility characters (such as full-width letters, half-width katakana, and circled numbers) into standard ones, so the text may look different afterward.
Can it show the name of every character?
This version names only characters that commonly cause problems, such as spaces, line breaks, zero-width characters, and bidirectional controls. For other characters, use the code point.