Skip to content
Free tool · no sign-up

ChatGPT Watermark Remover

Paste your text, get it back clean. We remove the invisible Unicode, non-standard spaces and lookalike letters that AI output carries — in about a millisecond, with no signup.

Free
no account needed
~1 ms
per clean
900+
characters detected
Nothing
stored, ever
0 chars

This removes characters. It cannot remove a statistical watermark such as Claude's SynthID-Text, and it will not change an AI-detector score — here is exactly what it does and does not do.

How it works

Three steps, and the middle one is the whole product

  1. 01

    Paste the text

    Straight out of ChatGPT, Claude, Gemini or a document someone sent you. Nothing is uploaded anywhere else and nothing is written to disk.

  2. 02

    We scan every character

    Each code point is checked against the full table of invisible characters, exotic spaces, homoglyphs and styled letterforms, then folded to its plain equivalent.

  3. 03

    Copy plain text back

    Same words, same meaning, same line breaks. Only the characters that were never meant to be visible are gone.

What this actually removes

When you copy text out of an AI chat window, what lands in your clipboard is not always what you saw on screen. Alongside the letters there can be codepoints that render as nothing at all, spaces that are not the ordinary space character, and letters from other alphabets that happen to look identical to Latin ones.

None of that is visible, and all of it survives copy and paste. It breaks exact-match search, corrupts CSV imports, produces mystifying syntax errors in code, and makes two identical-looking strings compare as different.

  • Zero-width characters — U+200B, U+200C, U+200D and the byte-order mark U+FEFF
  • Non-standard spaces — the narrow no-break space U+202F, non-breaking U+00A0, em, en, thin and ideographic spaces
  • Bidirectional controls and Unicode tag characters, which can hide entire messages inside apparently ordinary text
  • Lookalike letters — a Cyrillic о or a Greek ο sitting inside an otherwise Latin word
  • Fullwidth forms and mathematical alphanumerics, the letterforms used as fake bold
  • Optionally: em dashes and curly quotes, if you want plain ASCII punctuation

Is there really a ChatGPT watermark?

Not in the sense most people mean, and it is worth being precise because almost every other page on this topic is not.

OpenAI has never shipped a statistical text watermark. In April 2025 people noticed that o3 and o4-mini output contained the narrow no-break space U+202F where an ordinary space belonged, and the theory that this was a deliberate watermark spread quickly. OpenAI described it as a quirk of large-scale reinforcement learning rather than a marking system, and it stopped appearing within days.

What has not gone away is the broader phenomenon: AI output routinely carries non-standard characters, from many models, for reasons that have nothing to do with watermarking. That is a real problem with real consequences, and it is what this tool fixes.

If you want the long version with sources, read “Does ChatGPT have a watermark?”

What it cannot do

Anthropic began watermarking Claude output on 11 August 2026 using Google DeepMind’s SynthID-Text approach, and Google has watermarked Gemini output since 2024. Those are statistical watermarks: they work by biasing which word the model picks, spread thinly across every sentence. In Anthropic’s own words, “nothing is added to the text and there are no hidden characters.”

There is therefore no character to delete, and no character-cleaning tool — including this one — can remove them. Anyone selling you a Claude or Gemini watermark remover is selling something that does not exist.

Cleaning characters will also not change your score in an AI detector. Detectors measure statistical properties of word choice; GPTZero strips invisible characters before it scores anything, and Originality.ai published a test finding that adding or removing hidden characters made no difference to detection.

Use it from your own code

The same cleaner is available as an HTTP API. Sign up, get a key, and you can clean text from a script, a CMS plugin, a publishing pipeline or a Zapier step. The free tier covers 100 requests a month and needs no card.

FAQ

Frequently asked questions

Is the ChatGPT watermark remover free?
Yes. The tool on this page is free and needs no account. There is a daily limit to stop abuse, which is well above what any normal person uses. The API has a free tier of 100 requests a month, and paid plans start at $9.
Does removing these characters change how my text reads?
No. Everything removed is either invisible or a lookalike of the character it is replaced with. The visible text is identical, which you can confirm by comparing the character counts — only the hidden ones go.
Will this make my text pass an AI detector?
No, and be wary of anyone who says otherwise. AI detectors work on statistical patterns in word choice, not on characters. GPTZero removes invisible characters before scoring, and Originality.ai tested this directly and found no change in detection.
Can you remove the Claude or Gemini watermark?
No. Both use statistical watermarking, where the signal lives in word choice rather than in any character. Nothing is added to the text, so there is nothing to strip. Only rewriting the text substantially degrades that kind of mark.
Is my text stored?
No. Text is cleaned in memory and returned in the same request. Nothing is written to disk and nothing is logged beyond a count of how many characters were flagged.
What is the narrow no-break space?
U+202F, a space narrower than the ordinary one that also prevents a line break. It looks like a normal space in most fonts, which is why it went unnoticed in AI output for so long, and why it breaks exact-match search when it appears where a normal space is expected.

Last reviewed .

For developers

Clean text from your own code

One POST, JSON in and JSON out, about a millisecond of work. The free tier is 100 requests a month and takes no card.

POST /api/v1/clean
curl -X POST https://aitextwatermarkremoval.com/api/v1/clean \
  -H "Authorization: Bearer awr_live_..." \
  -H "Content-Type: application/json" \
  -d '{"text": "Your AI text here"}'

{
  "text": "Your AI text here",
  "changed": true,
  "found": { "invisible": 3, "confusables": 1 },
  "ms": 1
}