The job
What the Claude watermark cleaner handles
This is the step between copying text out of a chat window and pasting it into something that cares about exact characters. Scan shows you what is in the paste. Clean takes out 14 invisible Unicode characters, deletes eleven and swaps three space look-alikes for a normal space, then tidies repeated spaces and tabs inside each line and trims the line ends.
All of it runs locally in the page. Nothing is uploaded, there is no account, no character cap and no limit on how many times you run it. Cleaned text comes with a badge giving the count removed and a copy button.
Scope
The watermark this cleaner cannot touch
Worth settling before you build it into anything. Anthropic's published explanation of Claude's text watermark states that nothing is added to the text and there are no hidden characters. It is a pattern in word choice, a version of the SynthID-Text approach from Google DeepMind, readable only with a key.
A character cleaner cannot remove a pattern in word choice, and this one does not claim to. Anthropic's note also says light editing probably will not remove the watermark and only a complete rewrite where every word is replaced will. What this tool is for is the separate, real problem: invisible characters that arrive with a copy and break things downstream.
How to
How to run the Claude watermark cleaner in three steps
Always scan first. Half the value is finding out that a paste is already clean, which saves you from changing text that did not need changing.
- Step 1
- Paste the text. No length limit applies, so a whole file is fine. Try a sample loads a dirty example if you want to see the report populated.
- Step 2
- Press Scan text. Findings are marked inline with the reason on hover, and the two counters give hidden Unicode characters and flagged phrases separately.
- Step 3
- Press Clean it, check the badge for the number removed, then Copy. The original stays in the input box if you want to compare.
Workflow
Where cleaning belongs in a paste pipeline
The rule that works: clean at the boundary, just before the text enters a system that matches strings exactly.
- Before a commit
- A stray zero-width character makes git report a line as changed when nothing visible moved, and it survives review because nobody can see it.
- Before a CMS paste
- Slugs, meta fields and tags are matched literally. One invisible character in a slug and the URL resolves to nothing.
- Before a spreadsheet or database
- Lookups fail against values that look identical on screen. This is the failure that costs the most time to find.
- Before a find and replace
- A word carrying a zero-width space will not match the same word typed by hand, so the replace silently skips it.
- Not before a plain re-read
- If the text is only going to be read by a person, none of this matters. Skip the step.
The report
Reading the two counters
The scan produces two separate numbers and they mean different things. Treating them as one is the usual mistake.
- Hidden Unicode
- A count of the 14 characters found in your text. This is a factual count of what is present, and Clean it removes exactly these.
- Flagged phrases
- Matches against 17 writing patterns common in assistant prose: stock openers, hype adjectives, negation pivots and the like. Cleaning does not touch them.
- Hover for the reason
- Every finding carries its own explanation, so you can decide per item rather than trusting a total.
- Zero is a result
- A clean scan means the paste is fine. Pastes from plain text fields often are.
- Phrases are prompts, not proof
- A flagged phrase is a suggestion to edit. It says nothing about who or what wrote the sentence.
The source
Why a clean paste and a dirty one come from the same chat
The characters come from the plumbing rather than the model. A chat interface renders text with formatting characters in it, and copying from the rendered page picks them up. Copying the same reply from a plain text field often does not. Word processors and note apps add their own no-break spaces around numbers and dashes on the way through.
So the variable is your copy route, not the assistant. Two people copying the same Claude answer can get different results, which is exactly why scanning beats assuming.
Limits
What the Claude watermark cleaner will not do
It does not rewrite. No word is changed, no sentence restructured, no synonym substituted. That is a deliberate boundary: a deterministic cleaner that only removes named characters is predictable, and you can check its work by scanning the output.
It also leaves your punctuation alone. Curly quotes, en dashes and em dashes come through untouched on this route, and blank lines are preserved rather than collapsed. There is no file upload, no batch mode and no API, and it makes no claim about any AI detector's result.
In practice
Who builds this into their process
Engineers moving assistant output into repositories and configuration. Content teams pushing drafts through a CMS. Analysts pasting generated lists into spreadsheets. Anyone who has lost an hour to a lookup that should obviously have matched.
Because it is local and unmetered, it works as a habit rather than a budgeted action. Scan, clean, copy, paste onward. The text never leaves the browser, so there is nothing to think about on the privacy side either.