Skip to content

Photos

[organize]
strategy = "photos"
template = "{camera}/{year}/{month}"
{camera}
{year}
{month}
{day}

{year}/{month}/{day} come from the EXIF capture date (DateTimeOriginal) — never the file’s own mtime.

{camera} combines the EXIF Make and Model fields, with deduplication: if Model already contains Make (common on several brands), only Model is used, avoiding a folder like "Canon Canon EOS R5".

Auto-detects JPEG, TIFF, HEIF/HEIC, PNG, and WebP directly from file bytes — no external tool required.

There is deliberately no {gps} or location placeholder. Embedding capture coordinates in a folder name is an easy way to leak where a photo was taken without noticing.

A file with no EXIF at all (common for PNG/WebP, or a JPEG with metadata stripped) is treated the same as any file missing the specific field its template needs — skipped with a clear reason, never given an invented value.

photos does not support --recursive — see Recursive Organization for why (shared by all four metadata strategies).