Every setting a preset carries, and what becomes of it.
Nearly all of it. Every colour and tone panel a Lightroom preset can carry is read and applied — white balance, tone, curves, HSL, colour grading, calibration, Point Color, detail, grain, vignette, and gradient and range masks. What is not read is the work that belongs to one finished photograph rather than to a look: AI and brush masks, creative profiles, crops, lens corrections and retouching.
xMosaique reads .xmp presets directly — the same files Lightroom and Camera Raw write, with no conversion step and no re-export. This is the field-by-field account of what it does with them, checked against the engine rather than against the marketing copy.
None of this settles the one preset you actually care about, though. xMosaique is free, it reads the file exactly as Lightroom wrote it, and an attribute the engine has never met is dropped on its own rather than failing the preset around it — so importing the one you are unsure about answers the question in about a minute.
Last updated:
| XMP fields | Support | What xMosaique does |
|---|---|---|
| Basiccrs:Temperature, crs:Tint, crs:IncrementalTemperature, crs:IncrementalTint, crs:Exposure2012, crs:Contrast2012, crs:Highlights2012, crs:Shadows2012, crs:Whites2012, crs:Blacks2012 | Read | Read in full. Temperature is accepted in both dialects Adobe writes it in — absolute Kelvin, and the relative form a preset uses when it is not tied to one camera. |
| Basic, pre-2012 spellingscrs:Exposure, crs:Brightness, crs:FillLight, crs:Contrast | Read | Read too, so a preset written a decade ago still lands. Which set is used is decided by the fields the file actually carries, not by the process version it claims — a hand-edited preset routinely gets that wrong. |
| Presencecrs:Texture, crs:Clarity2012, crs:Dehaze, crs:Vibrance, crs:Saturation | Read | Read in full. Texture, clarity and dehaze are spatial passes rather than colour maths, so they run separately on the live feed and on the capture — and look the same in both. |
| Tone curve, point formcrs:ToneCurvePV2012, crs:ToneCurvePV2012Red, crs:ToneCurvePV2012Green, crs:ToneCurvePV2012Blue, crs:ToneCurve | Read | Read in full: composite and per channel, with no limit on the number of points. The curve is baked into a 1,024-entry table once, so its length costs nothing per frame. |
| Tone curve, parametric formcrs:ParametricShadows, crs:ParametricDarks, crs:ParametricLights, crs:ParametricHighlights, crs:ParametricShadowSplit, crs:ParametricMidtoneSplit, crs:ParametricHighlightSplit | Read | Read in full, including the three split points that decide where each region of the curve begins. |
| Refine Saturationcrs:CurveRefineSaturation, crs:LocalCurveRefineSaturation | Not read | Not implemented. A preset that moves it renders as though it had been left neutral, and the app can report that it did rather than quietly showing you a different picture. |
| HSLcrs:HueAdjustmentRed … Magenta, crs:SaturationAdjustmentRed … Magenta, crs:LuminanceAdjustmentRed … Magenta | Read | All eight bands, all three controls. The saturation and luminance operators are fitted against Lightroom's own output rather than approximated. |
| Black & Whitecrs:ConvertToGrayscale, crs:GrayMixerRed … Magenta | Read | Read in full. A black-and-white preset converts through its own channel weights instead of a flat desaturate. |
| Color Gradingcrs:ColorGradeShadowHue / Sat / Lum, crs:ColorGradeMidtoneHue / Sat / Lum, crs:ColorGradeHighlightHue / Sat / Lum, crs:ColorGradeGlobalHue / Sat / Lum, crs:ColorGradeBlending | Read | All three zones plus global — hue, saturation and luminance each — and the blending control between them. |
| Split Toningcrs:SplitToningShadowHue, crs:SplitToningShadowSaturation, crs:SplitToningHighlightHue, crs:SplitToningHighlightSaturation, crs:SplitToningBalance | Read | Read in full. This is the panel colour grading replaced, and older presets still write it. |
| Camera Calibrationcrs:RedHue, crs:RedSaturation, crs:GreenHue, crs:GreenSaturation, crs:BlueHue, crs:BlueSaturation, crs:ShadowTint | Read | Read in full. |
| Point Colorcrs:PointColors | Partly read | Read, with no limit on the number of entries. A row has to carry Adobe's nineteen fields; a row of any other length is skipped rather than guessed at, because a positional layout read one field out of step is worse than a missing entry. |
| Detailcrs:Sharpness, crs:SharpenRadius, crs:SharpenDetail, crs:SharpenEdgeMasking, crs:LuminanceSmoothing, crs:LuminanceNoiseReductionDetail, crs:ColorNoiseReduction | Read | Read in full — sharpening with its radius, detail and edge-masking controls, and both luminance and colour noise reduction. |
| Effects — graincrs:GrainAmount, crs:GrainSize, crs:GrainFrequency | Read | Read in full. Grain is sized relative to the frame, so it holds its structure at every capture resolution instead of turning to sand on the full sensor image. |
| Effects — vignettecrs:PostCropVignetteAmount, crs:PostCropVignetteMidpoint, crs:PostCropVignetteFeather, crs:PostCropVignetteRoundness, crs:PostCropVignetteStyle, crs:PostCropVignetteHighlightContrast | Partly read | Read and applied, with one exception: the highlight-contrast control is parsed but has no operator behind it yet, so it currently does nothing. |
| MasksMask/Gradient, Mask/CircularGradient, Mask/Radial, Mask/RangeMask (luminance and colour) | Read | Linear gradients, radial gradients and range masks — luminance and colour — build and apply, with no limit on masks per preset or components per mask. |
| Adjustments inside a maskcrs:LocalExposure2012, crs:LocalContrast2012, crs:LocalHighlights2012 / Shadows2012 / Whites2012 / Blacks2012, crs:LocalClarity2012, crs:LocalDehaze, crs:LocalSaturation, crs:LocalSharpness, crs:LocalGrain, crs:LocalTemperature, crs:LocalTint, crs:LocalTexture | Partly read | Read and applied, with one exception: the per-mask texture slider is parsed but not yet applied, so a mask that only carries texture currently changes nothing. |
| AI and people masksMask/Image, Mask/Person | Not read | Not read. Select Subject, Sky, Background and people masks are a machine-learning selection made on a desktop against one finished photograph; there is nothing to re-run against whatever the camera is pointed at next. A correction built only from these is dropped whole rather than applied to the entire frame. |
| Brush masksMask/Paint, crs:PaintBasedCorrections | Not read | Not read, for the same reason. A brush stroke is a hand-painted region of one specific image. |
| Creative profilescrs:Look | Not read | Not read. A preset carrying an Adobe creative profile renders without that profile's own contrast, saturation and curve. Everything else in the preset still applies. |
| Crop, geometry and lens correctionscrs:CropTop / Left / Bottom / Right, crs:PerspectiveVertical / Horizontal, crs:LensProfileName, crs:AutoLateralCA, crs:DefringePurpleAmount | Not read | Not read, deliberately. Cropping, straightening, perspective and lens correction are decisions about a frame that already exists — in a camera, the viewfinder makes them. |
| Healing and spot removalcrs:RetouchAreas | Not read | Not read. These target marks on one particular photograph. |
| Anything elseany other crs: attribute | Read | Ignored safely. An attribute the engine has never met does not fail the import or the preset around it, so a file from a newer Lightroom loads with everything it does recognise. |
The rows that are not read, and why
All but one of them describe no look at all. A brush stroke, a healed blemish, a crop, a sky selected by machine learning — each is a decision about one photograph that already exists, made on a desktop with that photograph on the screen. There is nothing in them to re-run against a frame the camera has not taken yet.
So they are dropped one at a time rather than approximated. A preset carrying an AI mask arrives in xMosaique with its white balance, its curve, its HSL, its grading and its grain intact, and without the mask — most of a look by any measure, since colour and tone are what a look is made of and the rest of this list is retouching.
The exception is Refine Saturation, which is a colour control like any other and simply has no operator behind it yet. A preset that moves it renders as though it had been left alone, and the app can say so rather than leaving you to wonder why the result disagrees with Lightroom.
Questions this page gets asked
Can xMosaique use Camera Raw .xmp presets?
Yes. Camera Raw and Lightroom write the same .xmp format, and xMosaique reads the file directly — there is no conversion step and nothing to re-export.
Do tone curves work?
Yes, in both forms. Point curves are read composite and per channel with no limit on the number of points, and the parametric sliders are read with their split points.
Does HSL match Lightroom?
Closely. All eight bands and all three controls are read, and the saturation and luminance operators were fitted against Lightroom's own output rather than approximated from a formula.
Do Lightroom masks work in xMosaique?
Some of them do. Linear gradients, radial gradients and range masks do, along with the adjustments inside them. AI masks, people masks and brush strokes are not — they are selections made against one finished photograph, not against a live camera feed.
Do black-and-white presets convert properly?
Yes. The Gray Mixer's eight channel weights are read, so a monochrome preset converts the way its author intended rather than through a flat desaturate.
What happens to a preset that uses something unsupported?
The rest of it still applies. An unrecognised attribute is ignored rather than failing the import, an unsupported mask kind is dropped rather than widened to the whole frame, and the one control that is knowingly unimplemented renders as neutral and can be reported.
12 presets to test the import with
Every look built into xMosaique is also a real .xmp file, free to download and free to keep — no account and no email address. They are the quickest way to watch the whole path work, from file to viewfinder, before trusting it with a set you paid for.
Get the 12 free presetsStop editing photos you already took.
Free to download, on iOS 18.0 or later, with an Android version on the way. No account, no ads, nothing uploaded.
Free · iPhone first, Android in development
Scan to install on your iPhone