Free AI Text Watermark Remover & Checker
Paste text or source code, see every hidden watermark character exposed in an x-ray view, and copy a clean version in one click. Free, online, no sign-up, and nothing you paste ever leaves your browser.
Removes invisible Unicode characters that break code, search and copy-paste. It cannot remove statistical watermarks such as SynthID, and it is not a way to hide AI authorship or defeat AI detection.
More: what was found, x-ray view and options
X-ray view
Your text with every hidden character exposed as a labelled chip. Hover a chip for its Unicode name.
What was found
| Code point | Character | Count | Action |
|---|
To remove an AI watermark from text or code, paste it into the free tool above. It detects and strips every hidden Unicode character, zero-width spaces, bidirectional controls, tag characters, unusual spaces, instantly and locally. Statistical watermarks embedded in word choice cannot be removed by any tool.
Text and code, not images. This watermark remover works on plain text and source code: chat answers, articles, documents pasted as text, and any programming language. It does not edit pictures, audio or video files, watermarks in media are a different technology, and removing them is not what this site does.
What this AI watermark remover actually removes
Text that has travelled through a chat interface, a PDF, a word processor or a web page usually carries characters you cannot see. Some are harmless typographic leftovers. Others silently break string comparison, corrupt a CSV import, or reorder how a line of code appears on screen while leaving what the compiler reads untouched.
The remover reads your text one Unicode code point at a time and reports every invisible or ambiguous character it finds: what it is, how many times it appears, what risk it carries, and whether it can be removed safely. Then it produces a cleaned copy, with emoji, Persian, Khmer, Korean and braille content left intact.
The two things people mean by "AI watermark"
These are completely different mechanisms, and confusing them is why so many tools in this category make promises they cannot keep.
Hidden characters
Zero-width spaces, bidirectional controls, tag characters and exotic spaces sitting inside the text itself. Detectable, countable, removable. This is what the tool above finds and cleans.
Statistical watermarks
A deliberate bias in which words a model chooses, spread across a whole passage. There is no character to find. Character cleaning does not touch it, and no browser tool can remove it.
Google applies SynthID watermarking to text and media generated by Gemini. Anthropic confirmed on 11 August 2026 that Claude models released after 2 August 2026 watermark their text automatically, with older models to follow, a requirement of the EU AI Act's transparency code, which took effect on that date. In both cases the signal lives in word choice across many tokens, not in any single character, so stripping invisible characters leaves it exactly where it was. OpenAI signed the same code without a deployed text watermark yet.
OpenAI has no deployed text watermark, though images generated by its models carry C2PA provenance metadata and the company signed the same EU transparency code, so text marking is a reasonable expectation rather than a current fact.
We keep a page per vendor with the current situation for each: what Anthropic confirmed for Claude, what SynthID does to Gemini text, where ChatGPT stands today, and why open-weight models like Mistral and Llama resist watermarking altogether.
Why hidden characters are worth removing
Invisible characters are not authorship labels. They are debris from copy-paste journeys. But they cause real, expensive failures:
- String equality breaks. Two visually identical values stop matching, so a lookup returns nothing and a deduplication pass creates a second record.
- Regular expressions miss. A zero-width space inside a word means
\bword\bno longer sees a word boundary where you expect one. - CSV and TSV imports shift. A stray control character or non-breaking space becomes part of a field value, and a numeric column arrives as text.
- Passwords and identifiers fail silently. A no-break space copied from a document is not the space the login form expects.
- Source code can lie. Bidirectional overrides make a comment appear to end where it does not. See invisible characters in code for a safe demonstration.
The hidden characters guide walks through where each one comes from and how to stop them reappearing. If you want the raw reference, the invisible Unicode list documents every code point this tool detects.
How the cleaner decides what to remove
Deleting every invisible character is the easy approach and the wrong one. A zero-width joiner is what holds a family emoji together. A zero-width non-joiner is grammatically required in Persian. A blank braille cell is a real character in braille text. Removing those does not clean the text, it damages it.
So the engine classifies by context rather than by code point alone:
| Category | What happens |
|---|---|
| Zero-width and invisible formatting | Removed, unless the surrounding script genuinely needs it |
| Bidirectional controls | Removed and flagged as high risk, because they change display order |
| Tag characters | Removed as a hidden payload, except inside a valid flag emoji |
| Control characters | Removed, apart from tab, line feed and carriage return |
| Unusual spaces | Replaced with a normal space, never deleted, so words never glue together |
| Variation selectors | Kept after an emoji or an ideograph, removed when there is nothing they could apply to |
Two optional switches sit above the results: straightening curly quotes and turning em and en dashes into hyphens. Both are off by default, because both change visible punctuation rather than removing invisible junk.
Your text stays on your device
There is no upload, no server-side processing and no logging of anything you paste. The page loads one JavaScript file from this domain and makes no other network requests. You can disconnect from the internet after the page loads and the checker keeps working. Our privacy policy states this in full.
Frequently asked questions
Can this tool remove an AI watermark from text?
It removes hidden Unicode characters completely and reliably. It cannot remove a statistical watermark such as Google's SynthID or the mark Anthropic confirmed for newer Claude models, because those are patterns in word choice rather than characters in the text. No browser-based cleaner can remove them.
Does hidden text in my document mean it was written by AI?
No. Zero-width spaces, non-breaking spaces and soft hyphens come from editors, PDFs, spreadsheets and web pages far more often than from any model. Their presence tells you the text has been copied between applications, not who or what wrote it.
Will cleaning break my emoji?
No. The engine keeps zero-width joiners that hold emoji sequences together, keeps variation selectors that give emoji their colour presentation, and keeps the tag characters inside regional flag emoji. A family emoji or a red heart comes out of the cleaner exactly as it went in.
Is my text sent to a server?
Never. All detection and cleaning happens in your browser using JavaScript loaded from this domain. Nothing you paste is transmitted, stored or logged, which is why the tool keeps working with the network disconnected.
Why does the tool keep some invisible characters instead of deleting them?
Because some of them are doing real work. A zero-width non-joiner is required in Persian and several Indic scripts, a zero-width joiner builds emoji and Devanagari conjuncts, and a blank braille cell is meaningful braille content. The engine checks the surrounding characters before deciding, and labels anything it keeps in green.
What is the difference between checking and cleaning?
Checking shows you what is in the text: the x-ray view marks every hidden character in place, and the tally counts them by code point and risk level. Cleaning produces a corrected copy in the output box. Both run at the same time as you type, so you always see what changed and why.
Does this watermark remover work on source code?
Yes. Paste code in any programming language and the tool strips hidden characters without touching the visible syntax: bidirectional controls that can make code display misleadingly are flagged in red, zero-width characters inside identifiers are removed, and tabs, line feeds and indentation are preserved exactly.
Is this an AI watermark detector, a checker, or a remover?
All three, in the same pass. It detects and labels every hidden character in an x-ray view first, that's the checking step, then produces a cleaned copy in the same action. People search for this problem all three ways, and the tool does not make you pick one.
Is it legal to remove AI watermarks?
Cleaning invisible Unicode characters out of your own text is not itself illegal, you are not altering anyone's copyright or authorship claim, only debris left by copy-paste. What can matter is your AI platform's terms of service around disclosing AI-assisted content, and any policy from a school, employer or publisher that requires you to say when AI was involved. Cleaning hidden characters does not change what those policies require, and it has no effect at all on the statistical watermark some providers now embed, which is what a policy concerned with detection is actually trying to catch.
Is this AI watermark remover really free?
Yes. There is no account, no sign-up, no word limit and no paid tier. The whole tool is one JavaScript file that runs in your browser, which is also why it works offline once the page has loaded.
Continue reading
- Remove hidden characters from AI-generated text - the cleaner, with an honest scope statement about what comes out and what does not.
- Hidden characters in text: origins, failure modes and fixes - the developer-facing guide.
- Statistical versus character watermarks - why one survives cleaning and the other does not.