Developer Resources Accessibility

Adobe XMP Software Development Kit Version 3.5

Version 3.5 of the Adobe XMP SDK is a minor update above version 3.2, which introduced a complete rewrite of the XMP Toolkit. This new implementation is considerably smaller, faster, and more robust. It has a revamped API that should be easier to understand and more convenient to use. The XMP Specification has also been revised to have better introductory material. You are encouraged to read chapter 2, XMP Data Model, and chapter 3, XMP Storage Model.

There is a single .zip file download that is usable on Macintosh, Windows®, and UNIX. Almost all text files, including all C/C++ source files, have UNIX-style line endings using ASCII linefeed. The Visual Studio project files have Windowsstyle carriage-return/linefeed line endings.

To obtain the SDK, you must first accept the License Agreement. After you click Accept, you will have access to the .zip file containing the SDK. The License Agreement and the XMP Specification may be separately downloaded without accepting the License Agreement.

XMP SDK download files

License Agreement (XMPLicense.pdf, 14K)
XMP Specification (XMPSpecification.pdf, 948K)
XMP SDK (, 856K)

back to top

XMP SDK contents

The following folders and files are contained within the XMP SDK:

  • XMP-SDK/build — Contains subfolders with projects and makefiles for building the XMP Toolkit on Macintosh, Windows, and UNIX. The preferred Macintosh build is an Xcode 2.2 project, this will create a universal binary for both PowerPC and Intel processors. Xcode 2.2 or 2.3 are necessary, features are used that are not present in Xcode 2.1. The Windows build is a VS.Net 2003 (VC7) solution, compatible with VS.Net 2005 (VC8). The UNIX build is a makefile for gcc, it has been tested on x86 Linux.
  • XMP-SDK/docs — Contains the License Agreement (XMP-SDK/docs/XMPLicense.txt), the XMP Specification (XMPSDK/ docs/XMPSpecification.pdf), and HTML documentation for the toolkit (XMP-SDK/docs/XMPToolkit/index.html).
  • XMP-SDK/public/include — Contains the headers files used by clients of the XMP Toolkit.
  • XMP-SDK/samples — Contains source and build projects for 2 sample programs. XMPCoreCoverage illustrates use of most of the core XMP Toolkit API. DumpScannedXMP uses low level packet scanning to find all XMP Packets in a file and print their content.
  • XMP-SDK/source — Contains the implementation of the XMP Toolkit.
  • XMP-SDK/third-party/expat — Contains a placeholder for the Expat XML parser used by the XMP Toolkit. Read XMP-SDK/third-party/expat/ReadMe.txt for information about obtaining Expat.

back to top

XMP SDK Changes

Version 3.5 differs from version 3.2 mainly in the addition of Xcode projects for building Macintosh universal binaries, and removal of CodeWarrior projects. Version 3.5 also adds a few functions to the SXMPUtils class to support the latest Adobe DNG SDK.