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
| Feature | Value |
|---|---|
| Full name | Extensible Metadata Platform (XMP) |
| File extension | .xmp |
| MIME type | application/rdf+xml |
| Format type | XML/RDF metadata document (plain text) |
| Developer | Adobe Systems |
| Introduced | 2001 |
| Standard | ISO 16684-1 (2012) |
| Open standard | Yes |
| Base format | XML serialised as RDF/XML |
| Packet wrapper | <?xpacket begin=...?> … <?xpacket end=...?> |
| Root element | <x:xmpmeta xmlns:x="adobe:ns:meta/"> |
| Typical role | Sidecar file beside a camera RAW photo |
| Also embedded in | JPEG, TIFF, PDF, PSD, DNG |
| Common namespaces | dc:, xmp:, crs:, exif:, photoshop: |
| Read/edit with | Any text editor, Lightroom Classic, Bridge/Camera Raw, ExifTool |
| Related extensions | .cr2, .cr3, .nef, .arw, .dng, .acr |
| Specification | adobe.com/products/xmp.html; ISO 16684-1 |
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.
| Prefix | Schema 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
- Adobe — XMP (Extensible Metadata Platform)
- Adobe — Save metadata to XMP sidecar files (Lightroom Classic)
- ExifTool — read and write XMP metadata
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.