How to find and remove invisible characters
- Paste your text into the box. Hidden characters are shown as red labels such as ZWSP or NBSP, with their code points in the table.
- Tick the kinds of characters you want to clean. Zero-width characters, special spaces, direction controls, and control codes are on by default.
- Copy the cleaned text, or use it as the new input to check that nothing is left.
The tool finds zero-width spaces, non-breaking and other special spaces, soft hyphens, the byte order mark, direction controls, Hangul and Braille fillers, control characters, tag characters, variation selectors, full-width letters, Cyrillic and Greek look-alikes inside Latin words, and curly quotes and dashes.
Questions
Is my text uploaded anywhere?
No. The scan and the cleaning happen in your browser. The text you paste is never sent to a server.
Where do invisible characters come from?
Mostly from copying and pasting: web pages and word processors add non-breaking spaces and soft hyphens, spreadsheets and exports add a byte order mark, and chat tools or AI assistants can leave zero-width spaces. Some are added on purpose, for example to watermark a text or to hide a trick in code.
Why are direction controls a problem?
Characters such as the right-to-left override change how text is displayed without changing what is stored. In source code this can make a line look harmless while it does something else, which is why the Trojan Source attack uses them. Removing them from text you did not write yourself is a safe default.
Will cleaning break emoji or non-Latin text?
Not by default. Zero-width joiners and variation selectors are needed inside many emoji and in scripts such as Persian and Hindi, so they are listed but left alone unless you tick them. Look-alike letters are only flagged when a Cyrillic or Greek letter sits inside a word with Latin letters, so a Russian or Greek sentence is not touched.
What is the difference between a non-breaking space and a normal space?
They look the same, but a non-breaking space stops a line from wrapping at that point. Many programs treat it as a different character, so a search for "hello world" can miss text where that space is a non-breaking one, and a CSV or code file can fail to parse. Cleaning replaces it with a normal space.
Credits
Built by OneTooling using standard browser features. No third-party code runs on your data.