I am quite confused by what IPTC and XMP are used for. I understand that EXIF is for technical information about the image, while IPTC is for actual metadata (with respect to the image, not the file), like author, title etc. I also understand that XMP is invented by Adobe, while IPTC comes from publishing community. What is the role of XMP? Is it just an implementation format (XML vs. something else), and IPTC can be stored in XMP and non-XMP way? Is there any inconsistency between the two? E.g. can I store title: A in IPTC and title: B in XMP? What factors should I consider when deciding which tags to use?


1 Answer 1


Poring over the Wikipedia entries:

What you call "IPTC" is really the "IPTC Information Interchange Model" defined by the "International Press Telecommunications Council".

The IIM is superseded by the "Extensible Metadata Platform" which is a more complete, extensible and robust data structure[*]. So anything in the IIM data can be also expressed in the XMP data, using the "IPTC core" schema (a "schema" here is a standardization of a data structure). Technically the XMP data can also contain the EXIF data...


  • If you have both IIM and XMP, the XMP should also contain the IIM data
  • In some applications, what you enter in the "IPTC" fields only ends up in the XMP part that deals with IPTC data.
  • XMP data is supported by more file types than IIM

[*] Based on XML, which is a very widely used textual data format

  • 3
    \$\begingroup\$ An additional note, according to the IPTC/IIM specs, there are limits on how many characters can be in each tag. For example, the City and Province-State location tags have a limit of 32 characters, less if you are using UTF16 characters. This limit is pretty much ignored by nearly all programs, allowing reading/writing of the data without limits. \$\endgroup\$
    – StarGeek
    Mar 4 at 18:30
  • \$\begingroup\$ OK, so to summarize: IPTC has defined a set of fields, which can be written to a file following IIM and XMP methods. XMP is XML-based and newer. And I should store information in XMP IPTC tags. Correct? \$\endgroup\$
    – texnic
    Mar 6 at 20:37
  • 1
    \$\begingroup\$ @texnic Correct \$\endgroup\$
    – xenoid
    Mar 6 at 21:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.