XMP vs. IPTC: What are the differences?

By teamnext Editorial Team

Anyone who searched for this article deliberately usually knows the topic is photo metadata. The central question is typically: what distinguishes XMP from IPTC?

Online, there are many imprecise explanations. Even experienced professional photographers get this wrong on a regular basis. The reason is a fundamental misunderstanding of terminology. To resolve it, clear definitions are required. The term IPTC is ambiguous. Depending on the context, it can mean different things. This is why, strictly speaking, the title should be: XMP vs IPTC IIM.

Schema and format are not the same

A digital metadata standard must cover at least two aspects.

First, metadata fields have to be defined. Typical questions include:

  • Which information should be captured

  • Which fields exist

  • Which character lengths are allowed

Second, it must be defined how and where the data is stored. This includes, for example:

  • Storage in a sidecar file

  • Storage in a defined segment of the main file

The set of defined metadata fields is called a metadata schema. The technical method of storing the data is called a metadata format.

This makes the core point clear. A meaningful comparison is only possible between formats or between schemas, but not between a schema and a format.

What is the IPTC IIM standard?

IIM stands for Information Interchange Model. It is the first metadata standard developed specifically for exchanging digital images. It was created by the International Press Telecommunications Council, abbreviated IPTC. The first version was released in 1991.

In 1994, Adobe enabled IPTC IIM compliant metadata to be embedded directly into the header segment of JPEG, TIFF, and PSD files through Photoshop. The so called IPTC header was established. It became the standard format for descriptive photo metadata. Technical metadata followed in 1995 with Exif.

What is XMP?

XMP stands for Extensible Metadata Platform. Adobe developed XMP as a technically improved metadata standard and released it starting in 2001. XMP is based on RDF and XML and is significantly more flexible than IPTC IIM.

The key point is this. XMP is designed to represent different metadata schemas, including the IPTC schema. The IPTC schema is split into two parts:

  • IPTC Core

  • IPTC Extension

Current status of IPTC IIM

The IPTC organization continues to develop the schemas mentioned above. Development of the IIM format, however, was discontinued in 1997. There was a minor adjustment in 2014, but no further development after that.

IPTC IIM is therefore considered a technically outdated legacy format. It is still supported by many image management applications and is still used in older archive systems. To maximize compatibility, descriptive photo metadata is often stored multiple times within a single file:

  • In the IIM header

  • In the XMP header

  • Partly also in the Exif segment

Current status of XMP

XMP supports many image and graphic formats, as well as numerous video and audio formats and PDF documents. Since 2012, the core part of the XMP specification has been defined as ISO standard 16684 1.

Because XMP can represent different schemas, it is not only used by IPTC, but also by other standardization initiatives such as DCMI, MWG, or W3C. This is why the term XMP standards is used deliberately in the plural.

How is the IPTC metadata standard defined today?

The IPTC photo metadata standard, in English IPTC Photo Metadata Standard, is designed explicitly for digital photographs and scanned analog photos. It is not intended for video files, vector graphics, or documents.

The standard includes all specifications required to store the two IPTC schemas in a defined metadata format. Since 2004, XMP has been the designated format for implementing IPTC compliant metadata.

This leads to a key point:

The IPTC standard is also an XMP standard.

This statement is important because it explains the most common misconception.

Deep Dive – IIM and XMP at code level

The IIM format uses numerical identifiers for the arrangement of the metadata fields, each identifier is stored as a single byte (octet). There is a prefixed area (envelope record) with 14 fields (6 of which are mandatory fields) and the main area (application record) with 57 possible fields and one mandatory field. For example, the field for the image description (caption) has the identifier 2:120, that for the intended character encoding 1:90, whereby the preceding number results from the position of the entry:

1 = Information is in the envelope record.

2 = Information is in the application record.

In fact, only the value after the colon is saved. The identifier for the image description (120) would then look like this in binary code: 01111000

A text string with a maximum size of 2000 bytes is designated for the caption field. The text is encoded as specified under 1:90 in the envelope record (usually with UTF-8 in order to be able to display special characters).

XMP data, on the other hand, consists of a single (long) text string. It is UTF-encoded and always begins with this specific sequence: <?xpacket begin=

When using UTF-8, the corresponding byte pattern would look like this in hexadecimal notation:

3C 3F 78 70 61 63 6B 65
74 20 62 65 67 69 6E 3D

Software that supports XMP therefore always scans certain file segments (APP1 in case of JPEG files) for this byte pattern. With IIM, the situation is similar.

XMP uses the markup language XML. As with HTML, identifiers placed in angle brackets act as start and end tags. This may also explain why developers usualy speak of XMP tags (and not of fields).

According to the IPTC Extension schema, an entry for the city in which a photo was taken (LocationCreatedCity) would then look like this:

<Iptc4xmpExt:City>Kassel</Iptc4xmpExt:City>

What advantages does XMP have over IIM?

Compatibility

Let’s not kid ourselves. IPTC-IIM is only intended for the file formats JPEG, TIFF and PSD (Photoshop); modern image formats such as WebP or HEIC do not support it. Although an IPTC-IIM header can also be “imposed” on a few less well-known file formats by using appropriate tools, IIM still is a discontinued model.

XMP, on the other hand, is supported by many proprietary Adobe formats as well as a large number of open graphic and video formats. For reasons of space, here is just a selection:

Graphic formats
JPG, TIFF, PSD, PNG, WebP, HEIC/HEIF, GIF, IND, INX, EPS, DJVU, SVG, PGF, XCF as well as DNG, CRW, NEF and other RAW formats (but in some cases only per sidecar file)

Video formats
MOV, AVI, ASF, WMV, FLV, SWF, MP4, WMA

Document formats
PDF

Extensibility

As mentioned, the X in XMP stands for extensible. The number of possible fields is not limited, but can be extended as required. XMP was developed in the knowledge that new requirements always necessitate new adaptations and extensions. And as we have shown in this article, even users who rely on tried-and-tested structures need not shy away from switching to XMP. On the contrary – as we now know, schemas such as IPTC Core (or Dublin Core to name another one) can be easily mapped using XMP.

Conclusion

IPTC IIM is a technically outdated format that still exists in some archive systems. If there is a choice, XMP is the better foundation. XMP is more flexible, more compatible, and more broadly accepted.