XMP vs DNG vs lrtemplate presets, and which one you actually need
Three file extensions, three completely different things. Only one of them is a preset in any meaningful sense.
799 words4 min readUpdated
If you have bought or downloaded presets in the last few years you have probably ended up with a folder containing some combination of .xmp, .dng and .lrtemplate files, plus a PDF telling you to install them three different ways. Here is what each one actually is.
| Format | What it is | Status |
|---|---|---|
| .xmp | An XML document listing Develop slider values and curve anchors. Human-readable. | Current. What Lightroom writes today. |
| .lrtemplate | A Lua table listing the same kind of values, in Lightroom's old plug-in scripting format. | Legacy since April 2018. Still converted on import. |
| .dng | An actual raw photograph that happens to carry Develop settings in its metadata. | A workaround for a problem that no longer exists. |
.xmp: the real preset format
XMP is Adobe's Extensible Metadata Platform — RDF/XML with namespaced attributes. A Develop preset is an XMP document whose crs: (Camera Raw Settings) attributes carry the slider values: crs:Exposure2012, crs:Contrast2012, crs:ToneCurvePV2012Red and so on. The 2012 suffixes are process-version markers, not years of relevance.
Three details separate a well-formed preset file from a nearly-working one. Preset XMP is a bare x:xmpmeta document with no <?xpacket?> wrapper and no byte-order mark — the wrapper belongs on sidecar files, not presets. The crs:Supports* flags decide whether the preset is offered for colour images, monochrome conversions and partial amounts. And bipolar sliders are written with an explicit sign (+18, not 18), which Lightroom itself always does.
Because it is plain text, you can open any .xmp preset in a text editor and read exactly what it does. No other preset format gives you that, and it is the single best defence against a pack that is 40 variations on one curve.
.lrtemplate: the one from before 2018
Lightroom Classic 7.3, released April 2018 alongside Camera Raw 10.3, switched preset storage from .lrtemplate to .xmp. The reason was consolidation: the XMP format is shared with Camera Raw and Bridge, so one preset can serve all three, and it survives round-tripping through the cloud apps.
You can still use old .lrtemplate files. Lightroom Classic converts them: drop them into …/Adobe/Lightroom/Develop Presets/ and restart, or import them through the Presets panel, and Classic writes converted .xmp copies into the Camera Raw settings folder. Lightroom desktop also accepts them on import. Lightroom mobile does not — convert on a desktop first.
.dng: not actually a preset
A "DNG preset" is a Digital Negative — a real raw image file — that carries Develop settings in its metadata. Installing it means importing it into your library as a photo, opening it, and using Create Preset to copy its settings into a real preset, unchecking everything that belongs to the dummy image rather than the look.
This existed for exactly one reason: before 2024, Lightroom on iOS had no way to import an .xmp file, and importing a photo was something it could already do. That gap has been closed. Lightroom mobile imports .xmp and .zip natively on both iOS and Android now, so the DNG route costs you extra steps, a junk file in your library, and a preset that includes whatever exposure and white balance the dummy frame happened to have.
It also produces a strictly worse artefact. The settings a DNG can carry are the same settings an .xmp carries — you gain nothing, and you lose readability, group structure and the Supports* flags that control where the preset is offered.
So which do you need?
.xmp, in every current case. It installs in Lightroom Classic, Lightroom desktop, Lightroom mobile on both platforms, Adobe Camera Raw and Bridge, with no conversion step anywhere. That is why PresetForge exports .xmp and does not offer a DNG at all: we would be shipping you a worse file to solve a problem Adobe already fixed.
Where .xmp genuinely cannot follow you is outside the Adobe raw pipeline — a video editor, a colour grading suite, a streaming filter. Nothing there speaks crs:. For that there is a different answer: a 3D LUT, which describes the same colour transform in a form any pixel pipeline can apply. See converting a Lightroom preset to a .cube LUT for what survives that trip and what does not.
The third export PresetForge offers is .json — the raw measured numbers, curve anchors and all. It is not a format any application imports. It exists so that the measurement is inspectable and scriptable, which matters if you are building presets in bulk or want to diff two looks against each other.
Common questions
- Can I convert a DNG preset into an XMP preset?
- Yes, on a desktop. Import the DNG as a photo, open it in Develop, click + on the Presets panel and choose Create Preset, then uncheck Exposure, White Balance, Crop, Lens Corrections and anything else specific to that dummy frame. Export the result as .xmp.
- Are .xmp presets and .xmp sidecar files the same thing?
- No, though both are XMP documents. A sidecar sits next to a raw file and records that photo's edits and metadata; it is wrapped in an xpacket. A preset is a standalone, unwrapped document meant to be applied to many photos.