Does ChatGPT add a watermark or metadata to its images?
OpenAI says images made with ChatGPT, Codex or its API include two signals: Content Credentials, a signed record stored in the file, and a SynthID watermark built into the image itself. Coverage varies, and a screenshot or file conversion can remove the record. Our checker reads the record and other metadata. It does not check SynthID.
What does OpenAI say ChatGPT images carry?
OpenAI's help article on provenance signals lists two signals for images. The first is Content Credentials, the open standard from the Coalition for Content Provenance and Authenticity (C2PA). The second is SynthID, an invisible watermark developed by Google DeepMind. The article says images generated with ChatGPT, Codex or the OpenAI API include both.
The article adds limits. OpenAI says coverage may vary by product, model, export path, file type and when the content was created. For the API, it says outputs are covered except for models planned for imminent deprecation, and it names gpt-image-1 and gpt-image-1.5 as examples. The article describes invisible signals. It does not describe a visible mark on ChatGPT images, so we make no claim about one.
Does the metadata survive when I save or share the image?
Not always. OpenAI says Content Credentials "can be lost through everyday actions", and it gives taking a screenshot or converting a file as examples. It says the SynthID watermark is designed to withstand common changes such as light edits, copying and pasting, cropping or screenshots. It also says heavier changes, such as heavy cropping or file compression, can make a watermark undetectable.
So the two signals fail in different ways. A file with no record can still carry a watermark, and a file that lost its watermark can still carry a record. We cannot read the watermark, so a result from our checker says nothing about it.
What did we find in real ChatGPT files?
We hold four real files filed under ChatGPT. One is a vendor sample. Three come from Wikimedia Commons categories named for ChatGPT images. Third parties uploaded the Commons files, and we cannot know how each one was handled before upload. The table shows only what our checker read in these four files; it says nothing about what ChatGPT does for every image. We measured these files on October 27, 2026 and again on October 30, 2026. The newest file read differently the second time, after we corrected a setting in our checker. The full method is on our accuracy page.
| File | Record in the file | Certificate names | Headline |
|---|---|---|---|
| Vendor sample PNG | Content Credentials | OpenAI (expired certificate) | Content Credentials found; signer trust not established |
| Commons PNG, first | Content Credentials | OpenAI (expired certificate) | Content Credentials found; signer trust not established |
| Commons PNG, second | Content Credentials | OpenAI OpCo, LLC | Trusted Content Credentials declare AI use |
| Commons JPEG | None; EXIF dates and a colour profile only | Not applicable | Metadata found; source not established |
Three of four files carry a signed record. The newest, signed "OpenAI OpCo, LLC", is trusted on the C2PA Trust List. The two files signed "OpenAI" read "signer trust not established" against both lists we load. The signed records in these files declare a digital source type called trainedAlgorithmicMedia. IPTC defines that term as media created algorithmically using an AI model trained on captured content. In the two files signed "OpenAI", that statement sits in the record of an earlier version the image was made from. In the file signed "OpenAI OpCo, LLC", it sits in the active record.
Why do some records naming OpenAI read "signer trust not established"?
A signed record has two parts to check. The signature must be valid and match the image, and the signer's certificate must chain to a trust list. The C2PA specification says a signing credential that is not listed on any of the validator's applicable trust lists gets the failure code signingCredential.untrusted. See section 15 of version 2.2.
We load two lists: the current C2PA Trust List and the frozen Interim Trust List. No certificate on either names OpenAI as its subject, so the name alone vouches for nothing. The newest file's certificate was issued by an authority named Trufo, and Trufo's root is on the C2PA Trust List, so our checker vouches for it. The image matches its record in all three files, and the record's claim signature validated. The two files signed "OpenAI" carry an expired certificate, which neither list trusts.
Other validators may load other lists and may read the same files differently.
Can a forged record read the same way?
Yes, in the sense that it can read "signer trust not established". We made a plain drawn picture and signed it with a self-made certificate naming "OpenAI OpCo, LLC", the same name as the newest real file. Our checker gave it the headline of the two older real files, not the trusted headline of the real file with that name. Anyone can put any name in a certificate, and only a trust list can vouch for one. Our result says so. It never writes "Signed by" for a name no list vouches for, and with that headline it cannot tell a real OpenAI record from a forged one. The C2PA explainer makes the wider point: Content Credentials do not say whether the content is true.
What does OpenAI's own checker do?
OpenAI runs Verify, and its Content Provenance API guide describes the same checks for developers. Per that guide, the C2PA outcome is "detected" only when a trusted or valid manifest names OpenAI as the issuer and includes an AI-generation action. It treats "not detected" as an absence of detected evidence, not proof of human creation. Three notes apply if you use it: it opens another company's site, uploading a file means agreeing to OpenAI's terms, and your image is uploaded to OpenAI, not to us. OpenAI says uploaded content is not stored unless legally required and is not used to train its models.
What this means when you check an image
Open the checker, choose the file, and read the headline. An OpenAI-named record may read "Trusted Content Credentials declare AI use", as our newest sample does, or "Content Credentials found; signer trust not established", as our older samples do. The second headline says a signed record is present, the image matches it, and no list we load vouches for the name. It does not say the record is false, and it does not say the record is true.
For a file that carries only dates and a colour profile, you will see "Metadata found; source not established". The file has metadata, but none of it says how the image was made. The result always shows that these checks cannot determine whether an image is AI-generated. Finding nothing does not mean an image is real or human-made, and a missing record does not rule out ChatGPT. For SynthID, use OpenAI's Verify.
Guides on this topic
- How to tell if an image is AI, the main page on all the signals together.
- Which AI image generators add watermarks?
- Does OpenAI use SynthID?
- What "signer not trusted" means
- Can Content Credentials be faked?
Frequently asked questions
- Does ChatGPT put a visible watermark on images?
- OpenAI's provenance article describes invisible signals, Content Credentials and SynthID, and does not describe a visible mark. We make no claim either way about one.
- Does every ChatGPT image have Content Credentials?
- OpenAI says coverage varies by product, model, export path, file type and creation date. One of our four ChatGPT files carries only EXIF dates and a colour profile.
- Does every OpenAI file read "signer trust not established"?
- No. Our newest sample is trusted on the C2PA Trust List. The two older ones read "signer trust not established": the signature matches the image, but their certificates had expired and no list we load trusts them.
- Does a clean result mean ChatGPT did not make the image?
- No. Metadata and records can be lost in screenshots and conversions, and we do not check the SynthID watermark. OpenAI says "not detected" is not proof of human creation.