docs/docs/features/xmp-sidecars.md
Immich supports XMP sidecar files — external .xmp files that store metadata for an image or video in XML format. During the metadata extraction job Immich will read & import metadata from .xmp files, and during the Sidecar Write job it will write metadata back to .xmp.
:::tip
Tools like Lightroom, Darktable, digiKam and other applications can also be configured to write changes to .xmp files, in order to avoid modifying the original file.
:::
Immich does not support all metadata fields. Below is a table showing what fields Immich can read and write. It's important to note that writes do not replace the entire file contents, but are merged together with any existing fields.
:::info Immich automatically queues a Sidecar Write job after editing the description, rating, or updating tags. :::
| Metadata | Immich writes to XMP | Immich reads from XMP |
|---|---|---|
| Description | dc:description, tiff:ImageDescription | dc:description, tiff:ImageDescription |
| Rating | xmp:Rating | xmp:Rating |
| DateTime | exif:DateTimeOriginal, photoshop:DateCreated | In prioritized order: |
exif:SubSecDateTimeOriginal | ||
exif:DateTimeOriginal | ||
xmp:SubSecCreateDate | ||
xmp:CreateDate | ||
xmp:CreationDate | ||
xmp:MediaCreateDate | ||
xmp:SubSecMediaCreateDate | ||
xmp:DateTimeCreated | ||
| Location | exif:GPSLatitude, exif:GPSLongitude | exif:GPSLatitude, exif:GPSLongitude |
| Tags | digiKam:TagsList | In prioritized order: |
digiKam:TagsList | ||
lr:HierarchicalSubject | ||
IPTC:Keywords |
:::note
All other fields (e.g. Creator, Source, IPTC, Lightroom edits) remain in the .xmp file and are not searchable in Immich.
:::
A sidecar must share the base name of the media file:
IMG_0001.jpg.xmp ← preferredIMG_0001.xmp ← fallbackmyphoto_meta.xmp ← not recognizedIf both .jpg.xmp and .xmp are present, Immich uses the .jpg.xmp file.
.xmp file placed next to each media file during upload.upload/library/<user>/YYYY/YYYY-MM-DD/IMG_0001.jpgupload/library/<user>/YYYY/YYYY-MM-DD/IMG_0001.jpg.xmp.xmp file to stay in sync.DISCOVER job automatically associates .xmp files that sit next to existing media files in your mounted folder. No files are moved or renamed..xmp file on disk.:::danger If the mount is read-only, Immich cannot update either the sidecar or the database — metadata edits will silently fail with no warning see issue #10538 for more details. :::
Immich provides two admin jobs for managing sidecars:
| Job | What it does |
|---|---|
DISCOVER | Finds new .xmp files next to media that don’t already have one linked |
SYNC | Re-reads existing .xmp files and refreshes metadata in the database (e.g. after external edits) |