Path Templates¶
A path template decides where each imported photo goes inside the Clean
library. It is a path relative to the library folder, with / between
folders and tokens in braces:
{year|Undated}/{date} {city}/{name}.{ext}
renders, for a photo taken in Lisbon on 12 October 2026, as:
2026/2026-10-12 Lisbon/IMG_0042.CR3
The template is set in path_template.
Tokens¶
Token |
Value |
Example |
|---|---|---|
|
Capture year |
|
|
Capture month, two digits |
|
|
Capture day, two digits |
|
|
Capture date |
|
|
Capture time, |
|
|
Place name (Place names) |
|
|
Region or state |
|
|
Country name |
|
|
ISO country code |
|
|
Camera name without a repeated brand |
|
|
Camera brand |
|
|
Lens model |
|
|
Original file name without extension |
|
|
Position in the import, four digits, in capture order |
|
|
Original extension of each file |
|
Dates and times are the local time the photo was taken (What metadata is read).
Rules¶
The template must end with
.{ext}, and{ext}may appear nowhere else. All files of a photo (RAW, JPEG and sidecars) get the same name and differ only in extension, so a RAW+JPEG pair stays a pair.The template is relative: it must not start with
/or contain...Unknown tokens and unbalanced braces are rejected with a message listing the valid tokens.
Missing values¶
When a photo has no value for a token (no GPS, so no {city}), the
token renders as nothing, and one run of separators (spaces, -,
_, ,, .) next to it in the template is removed. Folders that
end up empty are skipped:
Template |
Without a place |
|---|---|
|
|
|
|
Give a token a fallback with |: {city|Unknown place} renders
Unknown place when the photo has no place. If the file name would be
empty, the original name is used.
Original names are never trimmed: _DSC0001 stays _DSC0001.
File names that work everywhere¶
Names are adjusted so the library works when the drive is moved between Linux, macOS and Windows:
< > : " / \ | ? *and control characters become_. A/inside a value (for example in a place name) becomes-, so values never create folders.Repeated whitespace is collapsed; trailing dots and spaces are removed.
Windows device names (
CON,NUL,COM1…) get a_suffix.Names longer than 200 bytes are shortened.
Name collisions¶
If the target name is already taken (in the library, or by another photo
in the same import), a counter is added before the extension:
IMG_0042 (2).CR3. Existing files are never overwritten
(ADR-0008).
Presets¶
Preset |
Template |
Example |
|---|---|---|
By date (default) |
|
|
By date and place |
|
|
By month |
|
|
By country, then date |
|
|
By date and camera |
|
|
Renamed by capture time |
|
|
Photos without a capture date go to Undated/ with the date presets.