Skip to content
WatermarkAudit

Explainer · 6 min read

Does ChatGPT watermark its text?

No. OpenAI built the technology and decided not to deploy it. But its images are marked, and that part you can check yourself in about five seconds.

Short answer

No watermark in the text. Yes, marks on the images.

Text from ChatGPT — free, Plus, or through the API — carries no deployed watermark. Images generated by OpenAI models are a different matter: they carry C2PA content credentials, which are readable, and SynthID, which is not.

The text: built, then shelved

OpenAI developed a text watermarking method and, by its own account, chose not to release it. The reported reasons were practical rather than philosophical: the mark was not robust enough to survive determined paraphrasing, there was a serious risk of false positives, and there was concern that users would simply move to competitors who did not mark their output.

Whatever you make of that decision, the consequence is straightforward. There is no ChatGPT text watermark to find, because there is no ChatGPT text watermark. A tool advertising that it detects one is describing something that does not exist.

Then why do people keep finding hidden characters?

This is the most interesting confusion in the whole subject, and it has a specific origin.

Users noticed that output from GPT-4o sometimes contained a narrow no-break space — codepoint U+202F — sitting where an ordinary space should be. It is invisible in normal rendering, it survives copy-paste, and it looked for all the world like a deliberate fingerprint. A wave of “ChatGPT watermark detector” tools appeared to hunt for exactly this.

OpenAI's position is that these are artefacts of how the model was trained rather than an intentional mark. That explanation fits the evidence: the characters appear inconsistently, they vary between models, and a deliberate watermark built this way would be trivially defeated by anyone who ran a find-and-replace.

You can check this yourself in seconds. Paste any suspect text into the hidden character checker and it will show you every invisible codepoint, including U+202F, and let you copy the text back out clean. What it will not do is tell you a model wrote it — because that inference does not hold.

Why finding U+202F proves nothing

Narrow no-break spaces are not an AI invention. They are ordinary typography, used correctly in French punctuation, in scientific units, and by any number of word processors and typesetting systems. Text that has been through Word, InDesign, a CMS, a PDF export, or a translation tool can pick them up.

So the character's presence tells you the text passed through some piece of software. It does not tell you which one, and it certainly does not tell you a human did not write the sentences. Building an accusation on that is how innocent people get flagged.

The images are genuinely different

Here is where OpenAI does mark its output, and where you have real evidence to work with. Images from ChatGPT, Codex, and the OpenAI API carry two things:

  • C2PA content credentials — a cryptographically signed manifest recording what produced the file. This is verifiable, it is not probabilistic, and this site reads it in your browser.
  • SynthID — Google DeepMind's watermark, embedded in the pixels themselves. Nobody outside Google's gated detector can read it. More on that here.

The pairing is deliberate and quite clever. The credential is strong evidence but fragile — a screenshot destroys it. The pixel watermark is weaker evidence but tougher, surviving transformations that strip metadata. Together they cover each other's failure modes.

The catch with image credentials

Fragile means fragile. If someone screenshots an AI-generated image, or a platform re-encodes it on upload, the C2PA credential is gone and the file becomes indistinguishable from any other image as far as provenance goes.

This is why “no credentials” is never evidence of anything. You can watch it happen to your own files with the platform survival test — put an image through a resize, a recompression, and a screenshot, and watch every signal vanish in order.

Practical summary

  • ChatGPT text: no watermark exists. Nothing to detect, nothing to remove.
  • Hidden characters in that text: real, sometimes present, and meaningless as evidence of authorship.
  • OpenAI images: C2PA credentials you can verify today, plus SynthID you cannot.
  • Absence of any of it: expected, ordinary, and not suspicious.

Check an image or some text

If you have an OpenAI image with its credentials intact, the audit will show you the signature and the declared origin. If you have text, the checker will show you every invisible character in it.