1. Paste text
2. Copy the clean version
What was hidden in it
Paste something to see its invisible characters.
What this can and can’t remove
It removes: characters you can’t see
Zero-width spaces and joiners, byte-order marks, soft hyphens, text-direction overrides, variation selectors, Unicode tag characters, private-use and reserved code points, and exotic spaces. These are the marks people add by editing the text, and the ones that come along when you copy and paste.
It keeps: invisible characters your text needs
The joiner inside ❤️🔥, joiners inside Persian and Indic words, complete flag sequences, right-to-left marks in Arabic and Hebrew, and similar. Removing them would visibly break the text, so they stay unless you turn on the options that strip them.
It can’t touch: statistical watermarks
Some AI providers, such as Google with SynthID-Text, watermark text by nudging which words the model picks. Those watermarks live in the wording itself, not in any character, so no character filter can find or remove them. Only rewriting the text weakens them. Any tool that says it removes “all” AI watermarks from pasted text is overstating what it does.
Removing hidden characters doesn’t change who wrote the text. Follow the rules of your school, employer or publisher about disclosing AI use.
Use it anywhere
Open source
MIT licensed. The cleaning engine is a small TypeScript library with no dependencies, tested against the original Python implementation.
View on GitHubClaude Code skill
Clean files and your agent’s output straight from Claude Code, with the same engine and the same rules as this page.
Coming soon