Your AI text has invisible characters in it.

Paste it here to see every hidden character, including zero-width spaces, tag characters that spell out secret messages, and lookalike spaces. Then copy a clean version. It all runs in your browser, so your text never leaves this page.

1. Paste text

2. Copy the clean version

What was hidden in it

Paste something to see its invisible characters.

Cleaning options

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 GitHub

Claude 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