XMP File Documentation


Summary

An .xmp file stores Extensible Metadata Platform data: a plain-text XML/RDF packet holding metadata and photo edits for another file, most often a camera RAW image. Its MIME type is application/rdf+xml. As a “sidecar” it sits beside a RAW with the same base name and carries your Lightroom or Camera Raw adjustments, keywords, ratings and copyright, so the original is never modified. You read its text in any editor, and can usually delete it safely, unless your edits live only in the XMP.

Technical details

FeatureValue
Full nameExtensible Metadata Platform (XMP)
File extension.xmp
MIME typeapplication/rdf+xml
Format typeXML/RDF metadata document (plain text)
DeveloperAdobe Systems
Introduced2001
StandardISO 16684-1 (2012)
Open standardYes
Base formatXML serialised as RDF/XML
Packet wrapper<?xpacket begin=...?><?xpacket end=...?>
Root element<x:xmpmeta xmlns:x="adobe:ns:meta/">
Typical roleSidecar file beside a camera RAW photo
Also embedded inJPEG, TIFF, PDF, PSD, DNG
Common namespacesdc:, xmp:, crs:, exif:, photoshop:
Read/edit withAny text editor, Lightroom Classic, Bridge/Camera Raw, ExifTool
Related extensions.cr2, .cr3, .nef, .arw, .dng, .acr
Specificationadobe.com/products/xmp.html; ISO 16684-1
Structure at a glance

XMP is plain UTF-8 XML with no binary signature. A standalone .xmp begins with an <?xpacket begin=...?> processing instruction, then an <x:xmpmeta xmlns:x="adobe:ns:meta/"> root that wraps an <rdf:RDF> container of one or more <rdf:Description> blocks. Each block holds properties from namespaces such as Dublin Core (dc:), Camera Raw settings (crs:) and EXIF (exif:). The packet closes with <?xpacket end="w"?>. Because it is XML, any text editor shows the metadata verbatim.

What is an XMP file?

XMP stands for Extensible Metadata Platform, Adobe’s open standard for storing metadata as plain-text XML. Adobe introduced it in 2001, and it was later standardised as ISO 16684-1 in 2012. Metadata here means data about a file: its title, author, keywords, ratings, copyright, GPS location, camera and EXIF details, and, most importantly for photographers, non-destructive editing parameters such as exposure, contrast, crop and masks. The whole point of XMP is that this information travels with content in one consistent format across Adobe and third-party applications.

Most XMP is embedded directly inside other files, tucked into a JPEG, TIFF, PDF or PSD, where you never see it as a separate file. The standalone .xmp file you encounter is a sidecar: a companion stored next to a photo with the same base name, for example IMG_1234.CR2 alongside IMG_1234.xmp. Sidecars exist because proprietary camera RAW formats should not be altered, so Adobe Camera Raw and Lightroom Classic write your edits and metadata into the .xmp beside the RAW instead of touching the original file.

The RDF/XML data model

An XMP packet is XML serialised using the RDF (Resource Description Framework) model, so its content is a set of statements about a resource, the photo. Being XML, it is human-readable, and you can open a .xmp in Notepad and read every value. The packet has a fixed skeleton:

<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/">
  <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <rdf:Description rdf:about=""
        xmlns:dc="http://purl.org/dc/elements/1.1/"
        xmlns:crs="http://ns.adobe.com/camera-raw-settings/1.0/">
      <dc:subject>
        <rdf:Bag>
          <rdf:li>sunset</rdf:li>
          <rdf:li>coast</rdf:li>
        </rdf:Bag>
      </dc:subject>
      <crs:Exposure2012>+0.65</crs:Exposure2012>
    </rdf:Description>
  </rdf:RDF>
</x:xmpmeta>
<?xpacket end="w"?>

The outer <?xpacket?> processing instructions mark the packet boundaries, which lets the same block be embedded inside a binary file and located again later. The <x:xmpmeta> element with the adobe:ns:meta/ namespace is the root, and inside it <rdf:RDF> holds one or more <rdf:Description> elements carrying the actual properties.

Namespaces: how the properties are organised

XMP does not invent one flat list of fields. Instead it borrows vocabularies from several schemas, each identified by an XML namespace prefix, so different kinds of metadata stay separated and extensible.

PrefixSchema and typical properties
dc:Dublin Core: title, creator, subject (keywords), rights
xmp:Core XMP: CreateDate, ModifyDate, Rating, MetadataDate
crs:Camera Raw Settings: Exposure, Contrast, WhiteBalance, crop, masks
exif:Camera EXIF: ISO, exposure time, focal length, GPS
photoshop:Photoshop fields: caption, credit, edit history

Multi-valued fields use RDF containers: an unordered rdf:Bag for keyword sets, an ordered rdf:Seq for sequences, or rdf:Alt for language alternatives of a title. Because the model is extensible, a vendor can add its own namespace without breaking readers that do not understand it, which is what “Extensible” in the name refers to.

The crs namespace: where your photo edits live

For a photographer, the most consequential part of a sidecar is the crs: (Camera Raw Settings) block. These properties are the non-destructive editing recipe: crs:Exposure2012, crs:Contrast2012, white balance as crs:Temperature and crs:Tint, crop rectangles, tone curves, local adjustment masks and more. The RAW pixels are never changed; the .xmp records the numbers, and Camera Raw or Lightroom re-applies them each time the photo is loaded. This is exactly why the sidecar exists: the CR2, NEF or ARW stays byte-for-byte as the camera wrote it, while every edit accumulates in the small text file beside it.

Where edits actually live, and whether you can delete the file

Whether a .xmp is safe to delete depends entirely on where the edits are stored, and this is the question most people actually have. With Lightroom Classic, your adjustments are kept in the Lightroom catalog database, and the sidecar is only an optional export written for interchange. In that setup the .xmp is redundant and you can usually delete it without losing anything. But if you edited a RAW only in Adobe Camera Raw through Bridge or Photoshop, with no Lightroom catalog involved, the .xmp may be the only place those edits exist. Delete it and the edits are gone; the photo reverts to its default rendering. A related trap is separation: if you move or back up the RAW but leave the sidecar behind (or rename one without the other), the link breaks and the edits stop following the photo. Keep the pair together, same base name, same folder. Newer Camera Raw versions (14.0 and later) also write larger .acr sidecars for mask and depth data alongside the .xmp.

Reading, editing and applying a sidecar

There are two distinct ways to work with an .xmp. To inspect it, open it in any text editor and read the XML, or run exiftool file.xmp to dump or edit the metadata from the command line; ExifTool is the standard utility for this. To use it, you do not open the sidecar at all: you keep it next to its RAW and open the photo in Lightroom or Camera Raw, which apply the sidecar automatically (in Lightroom, Metadata › Read Metadata from File forces a re-read). Note that some Lightroom and Camera Raw presets are also distributed as .xmp files; those are installed through the Presets panel rather than placed next to a photo, so an .xmp can be either a sidecar or a preset depending on where it came from.

References