EXIF, IPTC, XMP: Three Metadata Standards Walk Into a Photo
You spend hours in Lightroom writing captions, adding keywords, and setting copyright notices. You export the images, upload them to a stock agency or a client portal, and they arrive with empty fields.
The captions and keywords were not deleted in transit. The problem is usually a structural conflict between the three overlapping standards that make up image metadata.
Image metadata is not a single unified system. It is a stack of three standards, EXIF, IPTC, and XMP, each developed by different industries, at different times, and for different reasons. A fourth layer, C2PA (Content Credentials), has been added more recently for provenance.
The Metadata Stack
Think of metadata as a three-story building instead of as a list. Here's an overview summarising how it all works:
- EXIF (the foundation) - Written by the camera. Captures the technical details of the shot.
- IPTC (the middle floor) - Added by humans or software. Provides editorial meaning: captions, keywords, rights.
- XMP (the top floor) - An Adobe-developed container that can wrap both of the above and hold editing history.
All three often live in the same file at once. The problem is that they duplicate the same concepts (Caption, Creator, Copyright) using different field definitions. When they disagree, your software picks one to trust, and the others appear blank downstream.
EXIF: The Camera's Technical Record
EXIF (Exchangeable Image File Format) is written automatically by the camera when the sensor captures the image. It records:
- Exposure - ISO, focal length, aperture, flash status, white balance, and so on.
- Hardware - Camera body, lens, firmware version.
- Context - Date/time and, when available, GPS coordinates.
- Computational tags - Recent cameras and phones add tags for HDR stack counts, computational denoising, and depth maps.
EXIF was originally developed by the Japan Electronic Industries Development Association (JEIDA) and is now maintained by CIPA (Camera & Imaging Products Association). Because it is machine-generated, the technical fields are reliable.
EXIF was never designed as a place for humans to write rich text. It has fields like Copyright and ImageDescription, but these use a limited ASCII-oriented encoding, do not properly support Unicode, and were never intended to hold keyword lists or multi-language captions. For editorial metadata, the standard to use is IPTC or XMP, not EXIF.
IPTC: The Editorial and Rights Standard
The International Press Telecommunications Council (IPTC) was created by news agencies long before digital photography arrived. The goal was to ensure that when photos came in from a war zone or other coverage, the editor could know who took them, what they showed, and how to pay the author.
Some of the typical fields you get with IPTC include:
- Caption/Description - The "Who, What, and Where".
- Keywords - These "findability" tags.
- Creator (byline) & Copyright Notice - The legal proof.
- Google Licensing Signals - IPTC fields are what Google Images uses to mark a photo as "Licensable" in search results.
IPTC has continued to evolve. Recent revisions of the IPTC Photo Metadata Standard added fields for disclosing generative AI usage.
The "Digital Source Type" field specifies whether an image was "trainedAlgorithmicMedia" (pure AI) or "compositeWithTrainedAlgorithmicMedia" (a mix of human and AI content), among other values.
Note: Legacy IPTC (IIM) is an older binary format with fixed field-length limits. Modern IPTC is defined on top of XMP, but many older agency systems still read the legacy IIM blocks. If a caption is longer than the legacy limit, the old system may truncate it.
XMP: The Modern Container
XMP (Extensible Metadata Platform) was introduced by Adobe in 2001 to unify the different systems. The idea was to have something that could account for all standards up to that point. Technically, XMP is not just a list of tags but a language based on XML/RDF. It is designed to be "extensible", meaning any software company can create their own custom fields without breaking the file.
XMP is now the dominant container format. Reasons for this include:
- Unicode support - XMP handles captions and keywords in any language without the encoding issues of legacy EXIF and IPTC-IIM.
- Sidecar files - In RAW workflows, XMP can live as a separate .xmp file alongside the RAW file, so metadata edits do not modify the original data.
- IPTC compatibility - The modern IPTC Core and Extension schemas are defined as XMP. When you edit IPTC fields in Lightroom, you are writing XMP under the hood.
If you think of EXIF as a physical stamp on the back of a print, XMP is a digital envelope that holds EXIF, IPTC, and the editing history, all in one place.
The Problem of Field Drift and Duplication
The mechanical reason for the disappearance of your metadata is that the same concept exists in multiple places within the same file. Since they are not automatically linked, you end up with slightly different tags that could cancel each other out.
Imagine you use a mobile app to add a caption to a photo. The app might only write to the XMP description field. If you then upload that photo to a legacy stock agency website that only reads the IPTC fields, it will scan the file, find an empty field, and report "No Caption Found". The data is there, but since the system is looking in the wrong place, you experience metadata drift, a common workflow headache.
Who Writes What?
To ensure your metadata survives the journey from camera to client, it is important to know which tool writes what data:
- Cameras - These write the EXIF. You generally should not try to edit this, as it is the technical alibi.
- Photo Mechanic - This is the industry leader for IPTC. For photojournalists, it is where you ingest images and apply IPTC/XMP templates. It can be used to sync metadata, ensuring IPTC and XMP agree.
- Lightroom/software tools - These tools write XMP. When you export JPEGs, they map your XMP data into the relevant IPTC and EXIF fields for maximum compatibility.
- Exif tool - This is a command-line utility used for forensic analysis and to force-sync fields when they drift.
C2PA (Content Credentials)
EXIF, IPTC, and XMP are descriptive. C2PA is different: it is a provenance standard, backed by a coalition including Adobe, Microsoft, and Google, that wraps a cryptographic signature around the existing metadata and the image content.
A C2PA manifest can record the device that captured an image, edits made in Photoshop, and whether an image was generated or modified by AI. If the file is altered by a tool that does not understand C2PA, the signature breaks and the manifest is marked invalid.
C2PA is still being rolled out, and many tools silently strip it during export or conversion. If you want to keep Content Credentials intact, use software that is C2PA-aware for your full export pipeline.
Stop Losing Metadata
If you want to stop the loss of metadata, there are some things you can do, chiefly:
1. Prioritize XMP, but sync to IPTC
In your software settings, always ensure "Write Metadata to XMP" is enabled. However, make sure that you toggle "Include All Metadata" in your export settings, so the software can apply XMP into the IPTC fields used in some older websites.
2. Beware the Social Media Shredder
Platforms like Instagram and WhatsApp strip almost all EXIF and IPTC data for privacy and optimization. When delivering photos to a client via a social app, you deliver a hollow file. It is often better to use a third-party gallery services that preserves the metadata stack.
3. Use the Google Licensable Standard
Ensure the IPTC Credit Line, Copyright, and Web Statement of Rights fields are filled. This is how you get the "Licensable" badge in Google Images, which protects your work from being treated as free to use.
When to Care About the Three Standards
If you only shoot, edit in Lightroom, and post to social media, you probably do not need to think about this. Lightroom syncs XMP to IPTC for you, and Instagram strips most metadata anyway.
For stock agency submissions or photojournalism, make sure captions and keywords appear in both XMP and the legacy IPTC-compatible fields. If you are a developer writing a metadata pipeline, prefer XMP, fall back to IPTC, and preserve fields you do not recognize. These three standards come from different decades and will not always agree.
For the stock agency problem specifically, running ExifTool to sync XMP descriptions into the matching IPTC fields takes a few seconds and prevents most "missing caption" issues.