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.
Inspection results
Original
Cleaned preview
Use cleaned text
Exports reflect the current cleanup decisions. The audit records decisions without embedding the complete source text.
Findings
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
- Each finding gives the character's Unicode number and name, its position, and an explanation of what it does and when it is used legitimately.
- The Marked-up view shows a visible label at each spot where an invisible character sits. Side-by-side compares your original with the cleaned preview.
- For each finding you can remove that one occurrence, remove every occurrence of that character, or mark it to be preserved. Undo, Redo, and Reset let you change your mind.
- When you are done, copy or download the cleaned text. The optional JSON audit records the decisions you made without including your full text.
Everything happens in your browser. The text you paste is not uploaded or stored.
When it helps
- A password, code snippet, or formula you copied from a web page or a chat does not work, even though it looks right.
- Two pieces of text look identical but a search, a comparison, or a spreadsheet lookup says they are different.
- You want to check text for hidden characters before pasting it into an assignment, a form, or an AI tool.
- You are curious what is inside text that came from a PDF or a word processor.
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.