Cette page n’est disponible qu’en anglais pour le moment. Le reste du site est dans votre langue.

Why Instagram Strips Your Image Metadata

2026-08-11 · 6 min

What happens when you press Post

You do not upload an image to Instagram. You upload a source file, and Instagram builds new files from it — several of them, at different sizes, usually re-encoded as JPEG or WebP, with quantisation tables and chroma subsampling chosen by the platform rather than by you.

Nobody copies your metadata block across during that rebuild unless there is a specific reason to. So the file that reaches other people's screens is not your file. It is a re-render of your pixels with the history removed.

This is not unique to Instagram. Facebook, WhatsApp, X, Reddit, Discord, most CMS thumbnail pipelines and most chat apps do some version of the same thing.

Why they do it

Four reasons, all of them defensible.

Bytes. Metadata is dead weight at serving time. An XMP packet can be several kilobytes, a C2PA manifest with an embedded thumbnail tens of kilobytes. Multiply by billions of images and multiple CDN copies of each. Re-encoding for size and dropping non-pixel data is the single easiest saving available.

Privacy. Photos from phones routinely carry GPS coordinates, a device serial, the owner's name in the copyright field, and a timestamp. Most users have no idea. Stripping EXIF by default prevents an enormous class of accidental disclosure — someone's home address leaking from a picture of their cat.

Security. Metadata fields are attacker-controlled input parsed by a long tail of libraries. Historically, image parsers have been a rich source of memory-safety bugs. Normalising every upload through one controlled encoder shrinks the attack surface a lot.

Consistency. Colour profiles, orientation flags and odd container structures render differently across browsers and devices. Flattening everything to a known-good baseline removes a whole category of support tickets.

None of these motives is about hiding provenance. Provenance is collateral damage.

What survives, and what does not

Data Typical fate on a social upload
EXIF (camera, lens, exposure, GPS) Removed
XMP, including IPTC DigitalSourceType Removed in most pipelines
PNG tEXt / zTXt / iTXt chunks (prompt, seed, sampler) Removed — PNG is usually re-encoded to JPEG or WebP, which have no such chunks
C2PA Content Credentials Removed unless the platform has explicitly implemented C2PA support
ICC colour profile Often converted to sRGB and discarded
IPTC captions and credit lines Sometimes preserved on news-oriented platforms, usually not elsewhere
Pixel watermarks (e.g. SynthID) Designed to survive re-encoding
Platform-applied "AI info" labels Kept — but stored by the platform, not inside the file

That last row is worth spelling out. When a platform shows an "AI info" badge, that label usually lives in the platform's own database, attached to the post. Download the image and the badge does not come with it. You get a bare JPEG.

The direction of travel is not all bad

A handful of platforms now read provenance on ingest even if they do not preserve it on egress. Meta has used C2PA and IPTC signals to apply AI labels to posts. LinkedIn displays Content Credentials on images that arrive with them. TikTok has announced C2PA reading for the same purpose.

Reading on ingest is genuinely useful — it is how automatic labelling happens at all. But it does not help the person who downloads the image afterwards and tries to check it themselves. For that, the credential would have to survive the re-encode, and mostly it does not.

Screenshots are worse than uploads

A screenshot is not a copy of a file. The operating system reads the pixels currently on your display and writes an entirely new image. There is no metadata to strip because there was never any metadata: the new file's only history is "a screen looked like this".

This is why "I screenshotted it so I'd have a copy" destroys exactly the thing you would later want. If you are archiving something you may need to check or cite, save the original file — right-click, Save image as, and keep the largest version you can get.

What this means when you are checking an image

Run the file through SynthCheck and you will very often get Inconclusive: no provenance markers survive. Given everything above, that is the expected outcome for anything that has passed through a feed.

An inconclusive result is not evidence that an image is authentic. It means the file carries no origin information, which is the normal state of nearly every image on the internet, real or synthetic. The full reasoning is in how to check if an image is AI-generated.

Practical consequences:

  • Chase the original file before you chase the analysis. One upstream copy is worth more than any amount of inspection of a downstream one.
  • Prefer download links, cloud folders, email attachments and AirDrop over social re-shares. These usually pass the bytes through untouched.
  • Sort reverse-image-search results by date and look for the earliest, largest copy.
  • Where a C2PA manifest does survive, validate it at contentcredentials.org/verify — SynthCheck shows you the manifest but does not check the certificate chain.

Keep your own metadata intact

If you make images, the useful move is the opposite of stripping. Leave provenance in. Export with Content Credentials when your tool supports it. Keep the IPTC creator and credit fields populated. If your generator writes an origin tag, let it.

Provenance metadata is how honest attribution scales. Removing markers to make synthetic content harder to identify is the failure mode the whole standard exists to prevent, and under Article 50 of the EU AI Act it is heading towards being a compliance problem as well — see EU AI Act Article 50 and image labelling.

FAQ

Does Instagram remove metadata from stories and DMs too? Yes. Every path that produces a served image goes through the same re-encoding, and DMs and stories are typically compressed harder than feed posts.

Is there any way to post to Instagram with EXIF intact? Not reliably. The re-encode happens server-side and is not something a user can opt out of. If the metadata matters, share the original file through a channel that does not transcode.

Why did my PNG come back as a JPEG? Because the platform chose the delivery format. PNG is inefficient for photographic content, so most pipelines convert. That conversion is what wipes out Stable Diffusion prompt chunks — they only exist in PNG. See reading Stable Diffusion metadata from a PNG.

If metadata is stripped everywhere, what is the point of C2PA? It works where the chain is unbroken: between a camera and an editor, between an editor and a publisher, between a generator and an archive. It also gives platforms something to read at ingest so they can label content automatically. And soft bindings — watermarks and fingerprints that survive re-encoding — are being layered on top to close exactly this gap. More in what C2PA Content Credentials are.

Vérifier une image

Gratuit, sans inscription, et le fichier ne quitte jamais votre navigateur.

Ouvrir l'outil