| Character | Code | What it does | What the tool does |
|---|---|---|---|
| Zero-width space | U+200B | Marks a place where a line can break, with no visible gap | Removes it |
| Zero-width joiner and non-joiner | U+200D U+200C | Joins or splits letters in some languages and emoji | Removes it, but keeps it inside emoji, Arabic and Indian scripts |
| Word joiner | U+2060 | Stops a line break between two characters | Removes it |
| Byte order mark | U+FEFF | A file marker that sometimes ends up inside text | Removes it |
| Direction marks | U+200E U+202A–202E U+2066–2069 | Change the reading direction. They can hide or reorder text | Removes them |
| Tag characters | U+E0000–E007F | Invisible copies of letters. They can hide secret messages | Removes them |
| Soft hyphen | U+00AD | A hyphen that only shows at the end of a line | Removes it |
| No-break spaces | U+00A0 U+202F | A space that keeps two words on the same line | Turns it into a normal space |
| Thin, hair and other spaces | U+2000–200A U+3000 | Spaces with special widths | Turns them into normal spaces |
| Lookalike letters | Cyrillic “а” U+0430 and others | Look the same as English letters but are different characters | Swaps them for the English letter |
| Curly quotes, long dashes, ellipsis | U+201C U+2014 U+2026 | Normal typing style | Leaves them alone unless you turn this on |
Hidden character remover
Hidden characters come along when you copy text from chat apps, websites and documents. They can break code, search, word counts and forms. Paste your text, see every one of them, and copy a clean version.
Hidden character remover
Cleaning happens on your device. Emoji and Arabic or Indian scripts keep the joiners they need, so nothing breaks.
Hidden characters are real characters you cannot see, like the zero-width space (U+200B) or the narrow no-break space (U+202F). They are not OpenAI’s textGrain watermark, which adds no characters. Removing them is safe and does not change your words.
Characters this tool finds
How to clean text
Paste the text
Press Paste or use Ctrl+V. The result updates as you type.
Choose what to fix
Hidden characters, odd spaces and lookalike letters are fixed by default. Turn on quote and dash fixing if you need plain text, for example for code.
Check the marked view
Red boxes show removed characters and their code. Orange marks show odd spaces. A wavy red line shows lookalike letters.
Copy or download
Press Copy clean text or download a .txt file. Then paste it where you need it.
Why cleaning does not remove textGrain
textGrain is not stored in any character. While ChatGPT writes, it picks between words that would all fit, and a secret key decides which ones it prefers. The pattern is spread over the whole text. You can remove every hidden character, and the words, and so the pattern, stay the same.
That is also why we do not offer a “textGrain remover”. OpenAI’s tests show that heavy rewording makes the watermark weaker. But only OpenAI can check if a text still has it. A tool that says it is gone cannot prove it. Read what textGrain is to learn more.
Questions people ask
Why does ChatGPT text have hidden characters?
Mostly because of formatting. The chat app, copy buttons, browsers and the apps you paste into can add no-break spaces, zero-width characters or byte order marks. It is a side effect, not a planned mark.
Will removing hidden characters change my text?
Your words stay the same. Hidden characters disappear and special spaces become normal spaces. If you turn on quote fixing, curly quotes and long dashes become plain ones. That changes the look, not the words.
Are emoji safe?
Yes. Joiners inside emoji, like family or flag emoji, are kept. So are joiners that Arabic and Indian scripts need.
What is a lookalike letter?
A letter from another alphabet that looks like an English letter, like the Cyrillic “а”. People sometimes use it to get past filters. The tool only flags it inside English words, so real Russian or Greek text is not touched.
Can hidden characters prove I used AI?
No. Many normal apps add them. Having them, or not having them, says nothing reliable about who wrote a text.