Skip to content

Output and naming

By default, converted and compressed files are saved in the same folder as the originals.

If you’d rather keep outputs out of the source folder, turn on Output location → Save to subfolder in Settings → Output and type a folder name (for example picmal). Every conversion or compression then writes to <sourceFolder>/<name>/ instead of next to the source file.

  • Files dropped from different folders each get their own subfolder, created beside the source.
  • The subfolder is created automatically the first time it’s needed.
  • Leaving the name empty is the same as turning the toggle off — outputs go next to the source as before.
  • Finder services (Compress/Convert from the right-click menu) follow this setting too, since they use your current app settings.
  • Watched folders ignore this setting; configure their output location per folder under Settings → Watched Folders.

Output location subfolder setting

Picmal names output files using patterns. You write a pattern (literal text plus tokens) and that becomes the output file’s base name. The extension comes from the output format.

Configure patterns in Settings → Output. There are two independent patterns:

  • Convert pattern — used when converting to a different format. Default: {original}_converted
  • Compress pattern — used in Compress mode. Default: {original}_compressed
TokenReplaced withExample
{original}Original filename (no extension)IMG_0042
{date}Capture date from EXIF2026-03-15
{datetime}Capture date and time from EXIF2026-03-15_14-22-08
{year}Capture year from EXIF2026
{month}Capture month from EXIF03
{day}Capture day from EXIF15
{camera}Camera make and model from EXIFFUJIFILM_X-T20
{iso}ISO value from EXIF400

Click any token in the settings panel to insert it into the focused pattern field. A live preview shows what the output filename will look like.

{original}_web → IMG_0042_web.jpeg
{date}_{original} → 2026-03-15_IMG_0042.jpeg
{camera}_{iso}_{original} → FUJIFILM_X-T20_400_IMG_0042.jpeg
{year}/{month}/{original} → (slashes are sanitized to underscores)

If a pattern uses an EXIF token but the source file has no matching metadata (e.g. {camera} on a screenshot), Picmal falls back to the original filename for that file. This avoids broken names like _400_IMG_0042.

Unknown tokens (anything inside {...} that isn’t recognized) are dropped silently.

If your pattern produces the same name as the source file (for example, using just {original}), Picmal writes to a temporary file and replaces the original only after the operation succeeds. This is safe even on case-insensitive APFS volumes, where .JPG and .jpg collide.

In Compress mode, if the result isn’t smaller than the original, the original is left untouched.

The settings panel warns you when your pattern would overwrite originals.

If a file with the output name already exists — because you ran the same conversion twice, say — Picmal doesn’t overwrite it. It adds a number instead, so the new file is saved as photo_converted 2.jpg alongside the one that was already there.

Picmal can pick the output format for you when you drop files, so drag-and-drop workflows don’t need a click. Choose how in Settings → Output → Default format conversion. There are two modes.

Set a default output format for each input type — all HEIC files to JPEG, all PNGs to WebP, and so on. Click Add format rule to add a pair. Input types you haven’t mapped keep using the format you last picked for them.

Default format conversion settings

Any rule can be set to KEEP instead of an output format. Files of that type are added to the list but never converted — so you can map HEIC to WebP, leave your PNGs alone, and drop a whole mixed folder without filtering it first.

KEEP is also available per file: click a row’s format in the Convert list and pick Keep original to skip just that file.

Compressing is unaffected — a KEEP rule only controls what a file converts to, so Compress mode still shrinks those files as usual.

Pick one format and every image you drop converts to it, whatever it started as. This is the quick way to send a folder of mixed JPGs, PNGs and HEICs out as WebP without writing a rule per format.

Files already in the target format are re-encoded at your compression quality rather than pushed out to a different, often larger, format. Audio and video are unaffected — an MP4 never becomes a WebP.

Switching back to Per input format leaves your rules as they were.