
Text with hidden characters shown
Hover a tag for detailsWhat was found
Choose what happens to eachFind and remove invisible characters in text
Paste text into the box and every hidden character is found as you type: zero-width spaces and joiners, non-breaking and other lookalike spaces, invisible direction controls, Unicode tag characters, variation selectors, control codes, and letters from other alphabets that look identical to English ones. Each one is tagged in place so you can see exactly where it sits, listed with its code point and what it does, and removed or replaced in the cleaned copy.
Everything runs in your browser, so it's safe for private documents, code, and prompts.
Where invisible characters come from
- Copying from web pages, PDFs, and Word. Non-breaking spaces and soft hyphens come along for the ride, and some sites insert zero-width spaces to control line breaks.
- AI chatbots. Text copied from some AI models has been found to contain narrow no-break spaces and other unusual spacing. It looks normal but can break formatting and code.
- Messaging apps and social media. Zero-width joiners hold multi-part emoji together, and some people use invisible characters to make "blank" usernames or bypass word filters.
- Deliberate hiding. Tag characters and variation selectors can carry an entire hidden message inside a normal-looking sentence. This has been used to slip instructions to AI models (prompt injection) and to watermark or fingerprint copied text.
What each type of hidden character does
| Type | Examples | Problems they cause |
|---|---|---|
| Zero-width | U+200B zero-width space, U+2060 word joiner, U+FEFF | Search and find-replace miss words, passwords and usernames fail, code won't compile |
| Unusual spaces | U+00A0 no-break space, U+202F narrow no-break space | Look like spaces but aren't matched by code, spreadsheets, or form validation |
| Direction controls | U+202E right-to-left override, U+2066–2069 isolates | Make text display in a different order than it's stored. Used to disguise file names and code ("Trojan Source"). |
| Tag characters | U+E0000–E007F | Completely invisible copies of English letters that can hide a full message |
| Variation selectors | U+FE00–FE0F, U+E0100–E01EF | Normal after emoji, but long runs can encode hidden data |
| Lookalike letters | Cyrillic а, е, о, р, с | Words that look right but don't match searches, spell checkers, or plagiarism tools. Common in phishing links. |
What's safe to keep
Not every invisible character is a problem, and the tool keeps the legitimate ones by default. Zero-width joiners inside emoji like are what combine them into one picture; removing them splits the emoji apart. Zero-width non-joiners are part of correct spelling in Persian, Hindi, and several other languages, and direction marks belong in Arabic and Hebrew text. When the tool sees those scripts it leaves those characters in place. You can change what happens to any character in the list.
Frequently asked questions
What is a zero-width space?
U+200B is a character with no width at all. It tells software "a line may break here" without showing anything. It's legitimate in some languages that don't use spaces, but in English text it's almost always an accident, and it makes two words that look identical fail to match.
Does ChatGPT add invisible watermarks to text?
Text from some ChatGPT models has been found to contain narrow no-break spaces (U+202F) and regular no-break spaces in places a normal space would go. There's no evidence these are a deliberate watermark. Either way, removing them fixes spacing and formatting problems, but it doesn't change the wording, so it won't change what an AI-writing detector thinks of the text.
How do I find hidden characters in Word or Google Docs?
In Word, click the ¶ button on the Home tab to show formatting marks; non-breaking spaces appear as a small circle, but zero-width characters stay invisible. Google Docs has no built-in way. Pasting the text here shows every one of them.
Why does my code fail with "invalid character" or "unexpected token"?
Code copied from websites, chat apps, or documents often picks up zero-width spaces, non-breaking spaces, or curly quotes. Compilers treat them as illegal characters even though the line looks correct. Paste the code here, remove the hidden characters, and turn on the ASCII quotes option.
What does "hidden message found" mean?
The text contains Unicode tag characters or a long run of variation selectors, both of which can encode letters invisibly. The tool decodes them and shows what they say. If you didn't put them there, treat the text with suspicion, especially if you plan to paste it into an AI assistant.
Is my text sent anywhere?
No. The scan and cleanup run entirely in your browser tab. Nothing is uploaded or stored, and closing the page discards everything.
