Naming
Renaming is half of a bulk job and almost nobody offers it. Two hundred correctly resized files called image (1).jpg through image (200).jpg are not a finished job, so the filename is a field of the rule rather than something that happens to the output afterwards.
The tokens
A template is ordinary text with tokens in it. The default is {name}-{w}.{ext}. Anything that is not a token is written out as you typed it, including a token you spelled wrong — the plan warns you rather than guessing.
| Token | What it is | Example |
|---|---|---|
{name} | The source's filename with its extension taken off. | DSC_0041 |
{ext} | The output's extension. Never the source's, unless the rule kept the format. | webp |
{w} | The output's width in pixels, after the fit and the pixel ratio. | 1280 |
{h} | The output's height in pixels. | 854 |
{dpr} | The rule's pixel ratio, as a bare number. | 2 |
{index} | The source's position in the queue, zero-padded to the total. | 004 |
{parent} | The immediate parent folder, or empty for a loose file. | spring-2026 |
{rule} | The rule's own name, lower-cased and hyphenated. | grid-tile |
Worked filenames
One source, spring-2026/DSC_0041.CR2.jpg, 4000 pixels wide, fourth in a queue of two hundred, matched by a rule called Grid tile that writes WebP at a maximum width of 640 with a 2x variant.
{name}-{w}.{ext} DSC_0041.CR2-1280.webp
{name}@{dpr}x.{ext} DSC_0041.CR2@2x.webp
{index}-{name}-{w}.{ext} 004-DSC_0041.CR2-1280.webp
{parent}/{name}-{w}.{ext} spring-2026/DSC_0041.CR2-1280.webp
{rule}/{name}.{ext} grid-tile/DSC_0041.CR2.webp
{name}-{w}x{h}.{ext} DSC_0041.CR2-1280x854.webpNote what {name} keeps: everything before the last dot, so a file called DSC_0041.CR2.jpg keeps the .CR2 that its converter left behind. That is deliberate. It is part of the name someone chose, and quietly removing it would make two different sources collide.