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.
Questions
Does AI-generated text contain hidden watermarks?
It can. Text from ChatGPT, Claude, Gemini and other tools sometimes carries invisible characters such as zero-width spaces, lookalike spaces or Unicode tag characters. They can come from the model, the app or copy and paste, and they can be used to spot pasted text. Paste your text above to see exactly which ones are there.
How do I check text for zero-width characters?
Paste it into the box at the top of this page. Every hidden character is highlighted in place with its name and code point, and the findings list groups them by type. Copy or download the cleaned version when you are done.
Is my text uploaded anywhere?
No. The cleaning runs entirely in your browser, so your text never leaves the page. The site's analytics counts page visits, not what you paste.
Can this remove statistical AI watermarks like SynthID-Text?
No. Statistical watermarks, such as Google's SynthID-Text, work by nudging which words the model picks. They live in the wording itself, not in any invisible character, so no character filter can find or remove them.
Use it anywhere
Agent skill for Claude Code, Codex and more
Let your coding agent find and remove hidden characters in files, pasted text and its own output. Same engine and rules as this page. It runs offline with Node, no packages needed.
$ npx skills add heyyarun/i-hate-watermarksTested in Claude Code and Codex. The installer also supports Cursor, Gemini CLI, GitHub Copilot and other agents. To install by hand, copy the remove-ai-watermarks folder into ~/.claude/skills or ~/.agents/skills.
Open source
MIT licensed. The cleaning engine is a small TypeScript library with no dependencies, tested against the original Python implementation.
View on GitHub