Hidden WordScanner
Private scans · No account required

Inspect Text

Reveal hidden and unusual Unicode characters in plain text. Inspection happens in your browser.

Registry 1.0.0 · Scanner 2.3.0v.tk17 — 7 November 2026

Add plain text

Text is treated only as text. HTML and scripts are never interpreted.

Inspect Text accepts files up to 1 MB. Larger files can still use the document scanner.

What invisible characters are

Text is stored as a sequence of numbered characters. Most of them draw something on screen, but some are instructions: join these two letters, do not break the line here, or display the next part from right to left. Those instruction characters take up no space, so a sentence can contain them and look exactly the same.

They exist for good reasons. Persian and Arabic need joiners to shape letters correctly, emoji such as family groups are built with them, and typesetters use non-breaking spaces to keep a number with its unit. The same characters cause trouble when they arrive where nobody expects them.

What this tool looks for

Zero-width characters
Zero-width space, zero-width joiner and non-joiner, word joiner, and the zero-width no-break space. They can split a word so that a search or a filter no longer matches it.
Unusual spaces
No-break space, figure space, and narrow no-break space. They look like an ordinary space but are a different character, which breaks code, formulas, and exact-match comparisons.
Directional marks
Left-to-right and right-to-left marks, the Arabic letter mark, and directional isolates. They adjust the order in which mixed-direction text is displayed.
Directional embeddings and overrides
Characters that force a run of text to display in a different order from the one it is stored in. These are the ones marked as higher risk, because what you read may not be what a program reads.

The tool checks 20 specific characters. It does not look for look-alike letters from other alphabets, and it does not judge what the text says.

How to read and use the results

Everything happens in your browser. The text you paste is not uploaded or stored.

When it helps

A finding is a reason to look, not proof that anyone hid something. Removing a joiner from Persian or Arabic text, or from an emoji, changes how it displays, so preserve those when the text needs them.