Invisible Character Inspector
See hidden characters that make copied text behave strangely. Inspect first, then choose exactly which characters to clean.
1. Paste text to inspect
Start with Inspect. Cleanup changes only the groups you select.
Optional cleanup
Joiners and direction marks can be essential in normal writing. This inspector does not classify text as malicious or detect every look-alike character. Limit: 20,000 UTF-16 units.
2. See what is hidden
Ready. Try the example to see how it works.
Using Invisible Character Inspector
Inspect copied text before making selective changes to hidden characters.
- Paste text or open a UTF-8 file, then click Inspect hidden characters. Try the example for a quick demonstration.
- Review code points, counts and first positions. Enable only the cleanup groups you need; joiners and direction marks can be meaningful.
- Create a cleaned copy and compare it before copying or downloading. The inspection JSON includes counts and first positions.
Example
The example contains a non-breaking space, zero-width space, direction marks and an emoji joiner. Default cleanup changes the non-breaking space but preserves the emoji and direction marks.
Questions & answers
What does this inspector find?
It highlights unusual Unicode spaces, common zero-width separators, direction marks, joiners, variation selectors, controls and unpaired UTF-16 surrogates. It does not detect every visually similar character.
Are all hidden characters a problem?
No. Direction marks, joiners and variation selectors can be important for languages, emoji and formatting. Review the result before removing them.
Does cleanup change my original input?
No. Cleanup creates a separate copy using your selected options. Tabs and ordinary line endings remain when removing other controls.
What do NFC and NFKC mean?
NFC combines canonically equivalent character sequences. NFKC also applies compatibility conversions and can change symbols or formatting distinctions. Neither is enabled automatically.
Why are positions different from text length?
Positions count Unicode code points per line. The input limit counts UTF-16 units; some emoji occupy two or more units.
Is my text uploaded?
Inspection and cleanup run in this browser with no processing upload. Website advertising and analytics are covered by the site privacy information.
Help improve this tool
Report a problem or suggest an improvement
Describe the issue without pasting private tool input. Feedback goes to our admin inbox.
