Metadata Editor

EXIF EditorEXIF ReaderRemove MetadataGuidesGlossaryAbout

EXIF vs IPTC vs XMP: what each standard holds and when they clash

By Alexis Guay

The short version of EXIF vs IPTC vs XMP: EXIF records how a photo was taken and is written by the camera. IPTC records what the photo shows and who owns it, and is written by people (photographers, editors, agencies). XMP is an XML container from Adobe that can carry both sets of information and much more. A single JPEG often holds all three, frequently with the same copyright line stored three times.

What each standard is for

StandardMaintained byBuilt forWhere it sits in a JPEG
EXIFCIPA and JEITACamera settings, capture date, GPSAPP1 segment starting with Exif
IPTC IIMIPTCCaptions, keywords, credits, rightsAPP13, Photoshop resource 0x0404
XMPAdobe, now ISO 16684-1Any schema, Unicode, structured valuesAPP1 segment starting with http://ns.adobe.com/xap/1.0/

EXIF is covered in detail in what is EXIF data. It is binary, TIFF-structured, and was ASCII-only for text until version 3.0.

IPTC is the International Press Telecommunications Council, a news-industry standards body. Two things carry its name. The older one is IIM, the Information Interchange Model: a binary format of numbered records and datasets, so 2:120 means record 2, dataset 120 (Caption-Abstract). Photoshop started embedding IIM in its File Info dialog decades ago, which is why IIM lives inside a Photoshop resource block. The newer one is IPTC Core and Extension, the same fields plus many new ones, expressed as XMP. When people say "IPTC metadata" today they usually mean the fields, whichever container holds them.

IIM has hard limits that bite. ExifTool's tag tables give By-line 32 bytes, Keywords 64 bytes each, CopyrightNotice 128 and Caption-Abstract 2000. A longer caption gets cut off in the IIM copy, and ExifTool's MWG code even checks for that and recovers the full text from XMP when the truncated IIM value matches its start.

XMP metadata is RDF/XML. Adobe introduced it in 2001 and it was later standardized as ISO 16684-1. It supports Unicode, language alternatives (dc:rights with an x-default entry), ordered and unordered lists, and any namespace you care to define. In a JPEG the main packet must fit in one 64 KB APP1 segment; anything larger goes into extended XMP segments that some readers ignore.

EXIF vs IPTC vs XMP, field by field

ConceptEXIFIPTC IIMXMP
CopyrightCopyright (0x8298)CopyrightNotice (2:116)dc:rights
CreatorArtist (0x013B)By-line (2:80)dc:creator
DescriptionImageDescription (0x010E)Caption-Abstract (2:120)dc:description
Keywordsnone (XPKeywords is Windows-only)Keywords (2:25)dc:subject
Date takenDateTimeOriginal (0x9003)DateCreated (2:55) + TimeCreated (2:60)photoshop:DateCreated

I wrote every one of those tags into a test JPEG with ExifTool, then read them back with -H to show the tag IDs. ExifTool prints IIM dataset numbers in hex, so 0x0074 is 116 and 0x0078 is 120:

exiftool -a -G1 -H -s -Copyright -CopyrightNotice -Rights -Artist -By-line -Creator -ImageDescription -Caption-Abstract -Description -Keywords -Subject -DateTimeOriginal -DateCreated -TimeCreated photo.jpg
[IFD0]          0x8298 Copyright                       : © 2026 Jane Doe
[IPTC]          0x0074 CopyrightNotice                 : © 2026 Jane Doe
[XMP-dc]             - Rights                          : © 2026 Jane Doe
[IFD0]          0x013b Artist                          : Jane Doe
[IPTC]          0x0050 By-line                         : Jane Doe
[XMP-dc]             - Creator                         : Jane Doe
[IFD0]          0x010e ImageDescription                : Sunset over Monument Valley
[IPTC]          0x0078 Caption-Abstract                : Sunset over Monument Valley
[XMP-dc]             - Description                     : Sunset over Monument Valley
[IPTC]          0x0019 Keywords                        : desert, sunset
[XMP-dc]             - Subject                         : desert, sunset
[ExifIFD]       0x9003 DateTimeOriginal                : 2026:05:14 18:42:07
[IPTC]          0x0037 DateCreated                     : 2026:05:14
[XMP-photoshop]      - DateCreated                     : 2026:05:14 18:42:07+02:00
[IPTC]          0x003c TimeCreated                     : 18:42:07+02:00

Notice the date row. EXIF stores local time with no offset (the offset goes in a separate OffsetTimeOriginal tag), IIM splits date and time into two datasets, and XMP stores one ISO 8601 value with the offset attached. Three formats, one moment.

exiftool -v photo.jpg shows the layout: APP1 (EXIF, 274 bytes), APP13 (IIM, 150 bytes), then a second APP1 for XMP at 3420 bytes. Most of that XMP segment is whitespace padding, left so editors can update the packet in place.

What happens when the standards disagree

They disagree all the time. A camera writes EXIF Artist, a photographer fixes the name in an old IIM-only tool, Lightroom later edits XMP. Each program then shows whichever copy it prefers, and two people looking at the same file see different credits.

The Metadata Working Group (MWG), a consortium of camera and software companies, published "Guidelines for Handling Image Metadata" 2.0 in 2010 to settle this. ExifTool implements the guidance in its MWG tags, and reading the source gives the actual rule for description, copyright and creator in a JPEG:

  1. If the EXIF value exists and isn't blank, it wins.
  2. Otherwise XMP wins, unless the IIM block was changed after XMP was last synced.
  3. That "changed after" test uses a checksum. Photoshop resource 0x0425 (ExifTool calls it IPTCDigest) stores an MD5 of the IIM block, written by the last XMP-aware program. ExifTool computes the MD5 of the IIM actually present as CurrentIPTCDigest. If the two differ, IIM is treated as newer and wins.

Here is that third case, reproduced on a copy of the test file. I deleted the EXIF description, stored a digest of the IIM block, then changed only the IIM caption, which is what an old IIM-only program would do:

[Photoshop]     IPTCDigest                      : c5e26dfb0e2060935190ee82b952d4ff
[File]          CurrentIPTCDigest               : 1e23ff5bedac37efe77eaedd7921f612
[IPTC]          Caption-Abstract                : Monument Valley, Utah, at dusk
[XMP-dc]        Description                     : Sunset over Monument Valley
[MWG]           Description                     : Monument Valley, Utah, at dusk

The digests no longer match, so MWG:Description returns the IIM caption, not the XMP one. The "old program" in this test was ExifTool itself: writing IPTC:Caption-Abstract directly does not refresh IPTCDigest. Write through the MWG tags if you want ExifTool to behave like an XMP-aware app.

Plenty of programs ignore MWG and read a single standard. When a credit looks wrong somewhere, dump all three with the command above before blaming the software.

XMP sidecar files for RAW

Adobe software won't write into proprietary RAW files such as CR2, NEF or ARW. Lightroom Classic and Bridge put the metadata in a sidecar next to the file: IMG_1234.CR2 gets IMG_1234.xmp, holding the keywords, caption, rating and develop settings. In Lightroom Classic this happens with Metadata > Save Metadata to File (Ctrl+S or Cmd+S), or automatically if "Automatically write changes into XMP" is ticked in Catalog Settings > Metadata. DNG, JPEG and TIFF get their XMP embedded instead.

Sidecars break in boring ways. Rename the RAW without the .xmp and the link is gone. Send a client only the CR2 and your keywords stay on your disk. ExifTool can create a sidecar from a file's own metadata with exiftool -o %d%f.xmp IMG_1234.CR2.

Where C2PA fits

C2PA is a fourth thing, and not the same kind of thing. EXIF, IPTC and XMP are unsigned statements; anyone can edit any of them without leaving a trace. A C2PA manifest is cryptographically signed and bound to a hash of the image data, stored in its own JUMBF block (APP11 in a JPEG). It can repeat IPTC or EXIF fields as signed assertions, but it does not replace them. The C2PA guide covers how it works.

What to write in practice

For personal photos, the EXIF your camera writes plus a keyword or two is plenty. When rights matter (selling, licensing, agency work, anything that may end up in Google Images), write the rights and credit fields in all three standards and keep them identical:

  • EXIF Copyright, IPTC CopyrightNotice and XMP dc:rights get the same string, for example © 2026 Jane Doe.
  • EXIF Artist, IPTC By-line and XMP dc:creator get the same name.
  • Keywords go in IPTC Keywords and XMP dc:subject. XPKeywords is optional; add it only if some Windows-only tool in your workflow depends on it.
  • Add XMP Credit, Web Statement of Rights and Licensor URL if you license images; Google Images reads them.

The metadata editor has fields for each of the three copyright and creator variants, plus Credit, Web Statement and Licensor URL, so one pass fills them all in a JPEG or TIFF. The guide on adding copyright to photos walks through it.

With ExifTool, the MWG tags keep the standards in sync: exiftool "-MWG:Copyright=© 2026 Jane Doe" "-MWG:Creator=Jane Doe" photo.jpg. One gotcha: MWG writes IIM only if the file already has an IIM block. On a fresh JPEG that command fills EXIF and XMP and leaves IPTC empty, so add -IPTC:CopyrightNotice and -IPTC:By-line explicitly if you need them.

FAQ

Related guides

What is EXIF data, and what does a photo's EXIF contain?

EXIF is the metadata cameras and phones write into each photo. Its history and versions, its TIFF-based layout, a real dump, and how to view or remove it.

What is metadata? A plain definition, then a real photo

Metadata is data about data. The three classic types, then a real JPEG read with ExifTool: camera, exposure, date taken, GPS and copyright tags.

How to add copyright to photos and license metadata

Add copyright, creator, credit and license URLs to photo metadata, see how IPTC, EXIF and XMP map, and which fields Google Images reads for Licensable.

How to edit photo metadata online, on desktop and with ExifTool

Edit photo metadata online, in Windows, Lightroom, Bridge or digiKam, or with tested ExifTool commands, and avoid the IPTC length and encoding traps.

Other Metadata Tools