Metadata Editor

EXIF EditorEXIF ReaderRemove MetadataGuidesGlossaryAbout

XMP Toolkit: the signature on the XMP packet

At a glance

ExifTool tag namesXMP:XMPToolkit
Tag ID / locationx:xmptk (attribute of x:xmpmeta)
CategoryImage & file structure
Example valueImage::ExifTool 12.76
On metadata-editor.comNot shown in our reader or editor. The metadata remover strips it with everything else.

Every XMP packet starts with an x:xmpmeta element, and most writers put an x:xmptk attribute on it naming the library that produced the packet. ExifTool reports it as XMPToolkit. It is not a property inside a namespace like the other XMP fields, just an attribute on the wrapper:

<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.76'>

Values you will run into:

ValueWritten by
XMP Core 6.0.0Recent iPhone photos, HEIC and JPEG
Adobe XMP Core, then a build stringPhotoshop, Lightroom, Bridge
XMP Core 4.4.0-Exiv2Exiv2, used by GIMP, darktable, digiKam
Image::ExifTool 12.76ExifTool, with its version number

It tells you which library last rewrote the XMP, and nothing more. The Software tag in EXIF is what the camera or app chooses to declare; XMPToolkit is set by the library, so it is harder to forget but also says nothing about who used it or why.

When it changes

A file from an Exiv2-based editor, then two ExifTool edits:

$ exiftool -s -XMPToolkit export.jpg
XMPToolkit                      : XMP Core 4.4.0-Exiv2
$ exiftool -q -overwrite_original -Artist="Jane Doe" export.jpg
$ exiftool -s -XMPToolkit export.jpg
XMPToolkit                      : XMP Core 4.4.0-Exiv2
$ exiftool -q -overwrite_original -XMP:Rating=3 export.jpg
$ exiftool -s -XMPToolkit export.jpg
XMPToolkit                      : Image::ExifTool 12.76

Writing EXIF Artist left the XMP packet alone, so the old toolkit stayed. Writing an XMP field forced ExifTool to rebuild the packet and sign it. The same happens when our editor saves an XMP field such as Web Statement, since it runs ExifTool on the server. This is why an iPhone HEIC can show XMP Core 6.0.0 straight off the phone and something else after one round through a desktop tool.

ExifTool lets you set your own value or remove the attribute:

exiftool -XMPToolkit="My Pipeline 1.0" photo.jpg
exiftool -XMP-x:XMPToolkit= photo.jpg

Either holds only until the next XMP write. In a test, a later -XMP:Rating=4 put Image::ExifTool 12.76 back, so a custom value has to go in the same command as the edit. Read next to the IPTC digest, it is a quick check of which tools have handled a file's metadata. For how XMP fits next to EXIF and IPTC, see EXIF vs IPTC vs XMP.

Related fields

Other Metadata Tools