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:
| Value | Written by |
|---|---|
| XMP Core 6.0.0 | Recent iPhone photos, HEIC and JPEG |
| Adobe XMP Core, then a build string | Photoshop, Lightroom, Bridge |
| XMP Core 4.4.0-Exiv2 | Exiv2, used by GIMP, darktable, digiKam |
| Image::ExifTool 12.76 | ExifTool, 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.76Writing 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.jpgEither 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.