Invisible Character Remover
See the characters you cannot see - then delete them.
Zero-width spaces, non-breaking spaces, bidirectional marks and hidden Unicode tags are shown one by one and removed in a single click. Your text stays on your own computer - never uploaded, never stored, never seen by anyone.
Paste some text to start scanning
The scan runs instantly on your own device as you type.
Hidden message decoded
These characters are not just invisible - they spell out readable text. This is how prompt injections and tracking markers are smuggled into copied text.
Breakdown
What is hidden in your text
Each badge is one invisible character. Hover it to see its Unicode name and codepoint.
Your text stays on your own computer
This tool never uploads anything. Here is what that actually means for you.
Nothing is sent to us
What you put in here does not travel over the internet. It stays on the device you are using right now.
Nothing is stored
There is no copy on a server and no database with your content in it, because it never reaches us in the first place.
Nobody can read it
Not our team, not other visitors, not any other company. There is nothing to read, because nothing arrives.
It is never used to train AI
Your content is not fed into any AI model and not passed on to an AI provider.
It disappears when you close the tab
Nothing is left behind. Reload the page and the tool simply starts empty again.
Do not take our word for it
Open this page, then switch off your wifi or unplug the network cable. The tool keeps working perfectly. That is only possible because all the work happens on your own computer, not on ours.
That makes this safe for text you would never send by email: client work, contracts, medical or legal documents, exam material, unpublished writing and internal company information.
Every character named
Not just a count. Each finding shows its Unicode name and codepoint, so you can verify exactly what was in your text.
Hidden messages decoded
Runs of tag characters and variation selectors are decoded back into readable text, revealing smuggled instructions or trackers.
Emoji stay intact
Emoji rely on invisible joiners. We recognise them and leave them alone by default, so your text is not silently broken.
Your text stays private
Nothing is uploaded, nothing is stored and nobody can read what you paste. Close the tab and it is gone for good.
What are invisible characters?
Unicode contains characters that occupy no visual space at all. Some exist for good reasons: the zero-width non-joiner is required to write Persian correctly, and emoji such as the family emoji are built from several pictures glued together with a zero-width joiner. Others are pure formatting, such as the byte order mark that word processors leave at the start of a file. Because none of them show up on screen, they travel through copy and paste unnoticed and end up in your CMS, your spreadsheet or your codebase.
Why they cause problems
Invisible characters break things quietly. A zero-width space inside a keyword stops a search from matching. A non-breaking space in a CSV column breaks a numeric import. A soft hyphen in a URL slug produces a 404. In code, an invisible character inside an identifier produces an error message that makes no sense, because the two identifiers look identical on screen. And bidirectional override characters can make a line of source code display in a completely different order from how it actually executes, which is the basis of the well-known Trojan Source attack.
Hidden messages and prompt injection
A smaller group of these characters can carry data. The Unicode tag block maps one to one onto printable ASCII, so a sequence of tag characters is literally a readable sentence that no editor will show you. Variation selectors can be abused the same way to encode arbitrary bytes. Both are used to hide instructions inside text that is later pasted into an AI assistant, and to fingerprint documents so a leak can be traced back to a specific recipient. This tool decodes both, so you can read the hidden content instead of merely deleting it.
How this tool handles them
Every finding is classified rather than blindly deleted. Characters with no legitimate use in your text are marked as confirmed findings and removed. Characters that may well belong there, such as a zero-width non-joiner between Persian letters or a joiner inside an emoji, are shown but treated with care - emoji joiners are kept by default, because removing them turns one emoji into three. That distinction is the difference between cleaning a text and damaging it.