Invisible Character Detector
Locate control, format, unusual space, joiner, and variation-selector code points without deleting them.
Loading tool…
How to use Invisible Character Detector
Inspect text that looks identical but behaves differently. The report identifies suspicious or non-printing code points by position; many are legitimate language or emoji features.
- Paste text that contains unexplained spacing or behavior.
- Choose whether to include ordinary whitespace.
- Inspect Unicode values and both position indexes before making edits.
Good to know
- Detection does not prove malicious intent. Joiners, bidirectional marks, and variation selectors can be essential to legitimate text.
- Only the first 1,000 occurrences are listed, while totals cover the whole input. This is not a complete confusable or Unicode security audit.
- The tool reports code points, not rendered glyph names or byte offsets, and never removes content.
Common questions
Why is an emoji joiner flagged?
It is an invisible format character. Flagging it helps explain the sequence; deleting it can change the emoji.
What are the two indexes?
The code-point index counts Unicode scalar positions; the UTF-16 index matches JavaScript string offsets. Both start at zero.
Keep going with related tools
All text →Unicode Code Point Converter
Convert text to U+ values or Unicode escape notation and decode valid scalar-value tokens back to text.
TextUnicode Normalizer
Apply NFC, NFD, NFKC, or NFKD normalization with a report of code-point changes.
TextText Cleaner
Clean extra whitespace, normalize Unicode accents, or remove non-printing control characters locally.
TextSMS Segment Budget Reviewer
Inspect GSM-7 or strict BMP UCS-2 character costs and segment boundaries under an explicit concatenation-header profile.
TextExplicit Text Range Redactor
Replace exact Unicode scalar ranges without splitting emoji or disclosing removed text in a change report.
TextWhitespace Auditor
Report line-ending styles, indentation, trailing whitespace, BOM, and final-newline state without editing input.