Text
Text that carries more than the words
Text can hide things too. Unicode has dozens of characters that take up no space on screen, and they end up in copied text far more often than people expect: from web pages, from PDFs, from chat apps, from documents, and from text generated by a chatbot. Sometimes they are an accident of formatting. Sometimes they are placed deliberately, to fingerprint a copy or to carry instructions a person cannot see. The Text tab finds them, counts them and takes them out.
What hides in text
- Zero-width space, joiner and non-joiner. Invisible, and they break search, break code, and make two identical-looking strings compare as different.
- Word joiner and byte order mark. Invisible glue that survives most copy and paste.
- Soft hyphen. Shows only when a line breaks there. Everywhere else it is silent and it splits words for anything that searches the text.
- Non-breaking and thin spaces. Look like a space, are not a space, and fail a match against one.
- Direction overrides. Make text render in a different order from the one it is stored in. Used in scams to disguise file extensions and links.
- Unicode tag characters. A block of invisible characters that can spell out an entire hidden message inside ordinary text. Used to fingerprint copies and, increasingly, to smuggle instructions into text that will be fed to an AI assistant.
- Variation selectors. Meant to pick an emoji style. Strung together, they carry arbitrary hidden data.
Why it matters
- A password or a key pasted with a zero-width space in it is rejected, and the error says nothing useful.
- A spreadsheet lookup fails on a value that looks identical to the one beside it.
- Code copied from a web page does not compile, or worse, compiles and does something different from what it shows.
- Text you paste into an AI assistant carries a hidden instruction you did not write.
- A document you share carries a fingerprint that says which copy it came from.
How to clean text
Open the tool and pick the Text tab. Paste anything in. Press Just check it to see a count of what was found without changing anything, or Clean text to get a version with the invisible characters and hidden tag blocks removed. Copy the result, or use it as new input if you want to check it again. Nothing you paste is kept.
The cleaner is conservative about what it removes. Ordinary punctuation, accented letters, emoji and non-Latin scripts are left alone. The joiners that some scripts and emoji sequences need are only removed where they cannot be doing that job.
Files, not paste
The same cleaning runs on text files dropped into the Files tab: plain text, Markdown, HTML, SVG and source code. A document goes through it too, along with the properties cleaning described in the Word document guide.
What this is not
Removing invisible characters does not tell you who wrote a text, and it does not make a generated text read as human. It removes what is hidden in the characters and leaves the words exactly as they were.
Common questions
What is a zero-width space?
A Unicode character that takes up no room on screen but is still there in the text. It breaks search and comparison and often arrives by copy and paste from web pages or chat.
Will cleaning damage emoji or non-English text?
No. Accented letters, non-Latin scripts and emoji are left alone. Joiners are removed only where they cannot be part of a script or emoji sequence.
Is the pasted text stored?
No. It is processed for one request and discarded. Nothing is logged.