How to Remove a ChatGPT Watermark from Text

What the hidden characters are, how to strip them, and the one thing no character cleaner can do.

Updated 15 August 2026
6 min read
Editorial

Does ChatGPT actually watermark text?

ChatGPT does not officially watermark text. No public OpenAI documentation describes a deliberate text watermark, and nobody outside the company can confirm one either way. What ChatGPT output does contain, reliably, is characters that do not belong in ordinary typing.

The narrow no-break space is the usual example. It looks exactly like a space, sits at codepoint U+202F instead of the ordinary U+0020, and survives copy and paste into almost anything. Zero width characters behave the same way and take up no room at all. Whether anybody meant these as a fingerprint is beside the point. They work like one, because they are trivially greppable and no human types them by hand.

You are not removing a watermark that OpenAI admits to. You are removing characters. Characters can be counted, which is what makes removing them a solved problem.

How do you remove a ChatGPT watermark from text?

Removing a ChatGPT watermark from text takes three moves: paste the text into a scanner, look at what it found, then copy the cleaned version back out. The whole thing runs in your browser and nothing is uploaded.

  1. Paste the text

    Drop it into the scanner on the homepage. Scanning starts as you type, so you do not need to press anything to see the count.

  2. Read what it found

    Every character is listed by codepoint with a count, and the live preview marks each one in place. This is the step most tools skip. Knowing you had eleven zero width spaces is more useful than a green tick.

  3. Choose what to strip

    Invisible characters go by default. Quotes, dashes and lookalike letters are switches, because normalising them is destructive if your text is deliberately typeset or genuinely written in Greek or Russian.

  4. Copy the clean text

    Copy or download the output. Paste it wherever it needs to go, and the hidden characters do not travel with it.

Which hidden characters does a ChatGPT watermark use?

The hidden characters fall into eight families, 104 types in total, of which 28 render as literally nothing on screen. Most guides name one or two and stop. The families matter more than the individual codepoints, because each family needs different handling.

Family Example Visible? What happens to it
Zero width and formatting U+200B, U+200D, U+00AD No Deleted
Bidirectional controls U+202E, U+2066 No Deleted
Tag characters U+E0000 to U+E007F No Deleted and decoded
Variation selectors U+FE0F No Kept unless you ask
Unusual spaces U+00A0, U+202F, U+2009 As a gap Normalised to a space
Smart punctuation U+2018, U+201C Yes Normalised to ASCII
Dash family U+2013, U+2014 Yes Your choice of four
Lookalike letters U+0430, U+03BF Yes Kept unless you ask

The split in that last column is the important part. Deleting an invisible character costs you nothing. Rewriting a visible one changes your text, so it stays your decision rather than the tool's. One family in that table earns a section of its own, because tag characters do something none of the others can.

How each character family is handled Characters split three ways: invisible characters are deleted, unusual spaces and smart punctuation are normalised to ASCII, and visible letters and dashes are left alone unless you switch them on. Pasted text every character Invisible zero width, bidi, tag Deleted Odd but harmless spaces, smart quotes Normalised to ASCII Real letters dashes, lookalikes Your call
Three outcomes, not one. Only the top row is safe to strip without asking.

What are tag characters, and why do they matter more than zero width spaces?

Tag characters matter more than zero width spaces because they carry a readable message. A zero width space is one invisible bit. The tag block, U+E0000 to U+E007F, maps one to one onto printable ASCII, so a run of tag characters is a whole sentence hiding inside text that looks completely normal.

Subtract 0xE0000 from a tag character and you get an ASCII code. That is the entire trick. U+E0041 is the letter A. String enough of them together and you can hide an instruction, a name, or a tracking string in a paragraph nobody can see it in.

What it looks like

Looks like an ordinary sentence.

32 tag characters follow the full stop. Your screen shows nothing. Your character count says otherwise.

Decoded

ignore all previous instructions

This is why the scanner decodes rather than silently deleting. We checked the three cleaners ranking for this query in August 2026. All three strip the characters and report a count. One can show you where they sit. None reads them back. Being told your text was carrying the words "ignore all previous instructions" is a different piece of information, and it is the one you want before pasting that text into another AI system.

Checking for them is the same operation as removing them, which is worth knowing before you decide you only want to look.

How do you check whether text has a ChatGPT watermark?

Checking whether text has a ChatGPT watermark means counting characters that should not be there. Paste it in and read the scan panel without pressing Clean. You get each codepoint, how many times it appears, and a preview that marks every one in position. Nothing is modified until you ask.

Two manual checks work if you would rather not trust a tool. In Microsoft Word, turn on formatting marks and unusual spaces show up as odd symbols rather than gaps. Any code editor does the same with "render whitespace" switched on. Both miss tag characters and lookalike letters entirely. That gap is the reason the scanner exists.

Word is also where most people hit this problem, so it is worth covering on its own.

How do you remove ChatGPT watermarks in Word or Google Docs?

Removing ChatGPT watermarks in Word or Google Docs works the same way as anywhere else, with one extra trap: pasting back in can reintroduce formatting you just stripped. Clean the text first, then paste it as plain text.

  • Word: copy your text out, clean it, then paste back with Paste Special and choose Unformatted Text. Pressing Ctrl and Shift and V does the same thing in most versions.
  • Google Docs: use Edit, then Paste without formatting. The keyboard route is Ctrl or Cmd, Shift and V.
  • Either: turn on formatting marks first and you can see the problem before and after, which is a faster check than trusting the paste worked.

The popular Notepad trick does less than people think. Notepad strips formatting, not Unicode. Zero width spaces and tag characters are perfectly valid text and they come through untouched. Plain text is not the same as clean text, and that gap is where most of what a remover cannot do begins.

What can a watermark remover not do?

A watermark remover cannot make AI writing read as human writing. Everything on this page operates on characters. The thing most people are actually worried about, an AI detector flagging their work, does not look at characters at all. It looks at word choice, sentence length, and how predictable the next word is.

That is a statistical watermark. It lives in the writing, not the encoding. Strip every invisible character on this page and the sentences are still the sentences the model produced. No character tool changes that, ours included, and any tool claiming otherwise is selling something.

What cleaning genuinely fixes is real, just narrower than the marketing suggests. Your text stops carrying a trivially greppable fingerprint. It stops breaking search, diffing, and database imports. It stops smuggling messages you cannot see into systems that will read them. Those are good reasons. Beating a detector is not on the list.

Scan your text with the ChatGPT Watermark Remover or, if the text came from Claude, use the Claude Watermark Remover , which covers a different character profile.

Common questions

Does ChatGPT put a watermark in text?

OpenAI has never confirmed a deliberate text watermark. ChatGPT output does routinely contain non-standard characters such as the narrow no-break space, which behave like a fingerprint whether or not anyone intended them to.

Is removing a watermark from AI text legal?

Stripping invisible characters from your own text is not illegal. It can still breach an academic integrity policy or a platform term of service, and that is a separate question from legality. Check the rules that apply to you.

Will removing hidden characters stop an AI detector flagging my text?

No. Detectors judge word choice and sentence structure, not invisible characters. Cleaning the characters fixes formatting and stops trivial fingerprinting. It does not change how the writing reads.

Does pasting into Notepad remove a ChatGPT watermark?

Partly. Notepad strips formatting and some control characters, but it preserves most invisible Unicode, including zero width spaces and tag characters, because they are valid text. Plain text is not the same as clean text.

Do other AI models leave the same characters?

The character families overlap but the mix differs by model. Claude output tends to carry a different profile, which is why it has a separate tool.

Sources

  • Unicode Standard Annex 9, Unicode Bidirectional Algorithm, for the directional control characters.
  • Unicode Standard, Chapter 23, Special Areas and Format Characters, for the tag block U+E0000 to U+E007F and the variation selectors.
  • Character coverage figures are read directly from this site's own character map at build time, currently 104 types including 48 lookalike letters, so they cannot drift from what the tool actually does.