What ChatGPT and DALL·E embed in your generated images
You ask ChatGPT for an image, save the PNG it returns, and post it somewhere. You probably assume the file is just pixels. It isn’t. Since spring 2024, OpenAI embeds C2PA content credentials in every generated image, plus a handful of additional metadata fields. Here’s what’s actually in that file, and how to remove it locally with AI Info Remover.
Inspecting a fresh ChatGPT PNG
Save any image ChatGPT generates today and run exiftool on it. You’ll typically see:
JFIF Version : 1.01
Software : OpenAI
C2PA / JUMBF : signed manifest, ~10-30 KB
- Claim Generator : OpenAI / DALL-E 3
- Created : 2026-05-21T15:34:11Z
- Action : c2pa.created
- Signature : valid
PNG iTXt chunk : "parameters" or platform tag
Embedded thumbnail : small JPEG preview
The bulk of that is the C2PA manifest — a cryptographically signed JSON-ish blob declaring “OpenAI created this image at this time.” Platforms read it and may surface a “Made with AI” label (see our post on Meta’s AI label).
There’s also a Software: OpenAI EXIF tag, a timestamp, and occasionally an iTXt text chunk with platform debugging info.
Why care?
A few reasons people remove this metadata, in roughly descending honesty order:
- The label is wrong. You took a real photo and used ChatGPT only to upscale or color‑correct. The C2PA tag still says “AI generated.”
- Brand consistency. You don’t want OpenAI’s “Software” tag bleeding into the EXIF of images on your portfolio site.
- Platform variance. Some social platforms boost organic reach of “authentic” content; the C2PA manifest can flip you into a lower‑reach bucket.
- You don’t want a third party knowing your generation history. The C2PA manifest can be linked back to your account.
Removing the metadata is not the same as misrepresenting the image. The pixels stay the same. The labels are claims, not facts.
How a browser canvas wipes all of it at once
The trick is that every one of those metadata blocks lives outside the pixel grid. The C2PA manifest is in a PNG caBX chunk or JPEG APP11 segment. The Software tag is in EXIF. The thumbnail is in an EXIF subdirectory. The platform iTXt chunk is a separate PNG block.
When a browser decodes the image, it reads only the pixels into memory. When it re‑encodes via canvas.toBlob(), none of the metadata blocks get re‑attached because the canvas doesn’t know they existed.
const c = document.createElement("canvas");
c.width = img.naturalWidth;
c.height = img.naturalHeight;
c.getContext("2d").drawImage(img, 0, 0);
c.toBlob(blob => { /* clean file */ }, "image/png");
One re‑encode strips C2PA, Software tag, timestamp, iTXt chunks, and embedded thumbnails simultaneously. No tool‑by‑tool list to maintain.
Step‑by‑step in AI Info Remover
- Save the ChatGPT image to your device.
- Open aiinforemover.com in any browser.
- Drop the file. It processes instantly — no upload.
- Click Download. The new file has none of the above.
Verify with exiftool:
exiftool ChatGPT_Image_clean.png
Output should show only basic encoding fields (dimensions, color depth). No Software, no C2PA, no parameters chunk.
What we can’t remove
- Pixel‑level watermarks like Google’s SynthID. These ride inside the pixels themselves. Re‑encoding through JPEG quantization may weaken them but doesn’t remove them reliably.
- Stylometric detection. Modern AI‑image detectors look at pixel statistics, not metadata. If the detector is good, your generated image is detectable from the pixels alone.
This tool removes metadata. It is not a laundering service for AI content. Be honest about what you’re doing.
Related reading
- Why a browser canvas wipes C2PA credentials — the technical deep‑dive on the same mechanism.
- Removing the ‘Made with AI’ label on Instagram — the practical version of this article.