Feather CLI: Feather in Terminal

Coming soon Feather CLI isn’t out yet. This page shows what it will do; the install command comes here on release day.

Feather CLI is Feather's command-line tool: the feather command in Terminal. It makes photos, videos, PDFs and documents smaller with the same engine as the app, for scripts, whole folders and automation. It comes with Feather Pro.

Everything happens on your Mac. Feather CLI doesn't upload files, doesn't need an account, and sends nothing anywhere.

What you need

Install

Feather CLI isn't out yet. It will install with Homebrew, and the command will be on this page on the day it's released.

Once it's installed, feather pro tells you whether it finds Feather Pro on this Mac. If it doesn't, open Feather and go to Settings › Feather Pro: buy Pro there, or choose Restore Purchase if you already have it.

Try it

feather photo.jpg

This writes photo-min.jpg next to the original, lossless: the pixels stay exactly the same, and the private data inside is removed (location, author, camera serial numbers). Some more:

# every PNG on the Desktopfeather ~/Desktop/*.png# a folder and its subfolders, smaller stillfeather -m lossy -r ~/Pictures/Export# the smallest format for each photo, into a folderfeather -m best -o ~/Sites/img ~/Export# the size and format Instagram showsfeather -t instagram holiday.jpg# under 2 MBfeather --max-size 2mb scan.jpg video.mov# every image to WebPfeather convert --to webp -r ./assets# a video to MP4feather convert --to mp4 clip.mov

feather --help lists every option.

How much smaller

ModeWhat it does
lossless (the default)Same pixels, smaller file. Nothing you can see changes.
lossySmaller still, at the quality you set with --quality (80 by default).
bestTries JPEG, PNG, WebP and AVIF (JPEG XL too where the destination takes it) and keeps the smallest.

Where the files are going

-t (--target) prepares files for where they're going. It covers:

feather targets shows them all, with their limits. Your own limits work too: --long-side 2000, --megapixels 12, --max-size 1mb.

Your own presets

The presets you made in Feather also work in Feather CLI:

  1. In Feather, go to Settings › Presets › Export Presets….
  2. Save the file as ~/.config/feather/presets.json.
  3. Use a preset by its name:
feather -t "Client website" ~/Export

A file somewhere else works with --presets <file>. Run the export again after you change a preset.

Where results go

In a folder, Feather CLI skips hidden files and its own earlier results. Running it twice doesn't compress the copies again.

Privacy

By default, Feather CLI removes the private data inside a file: location, author, camera details and serial numbers, dates, and editing history.

To see what's inside a file before you share it:

feather inspect photo.jpg report.pdf

inspect is free and changes nothing.

Watermark

feather --watermark "© Studio Max Redecker" --position bottom-right ~/Export
feather --logo logo.png --tile ~/Export

In scripts

--json prints one JSON document with every file, its sizes, what was removed and where the result went:

feather --json -o out ~/Export | jq '.totals'

Exit codes:

CodeMeaning
0Done
1One or more files couldn't be compressed
2The command wasn't right
3Feather Pro is needed
130Stopped with Ctrl-C

Feather CLI works on up to four photos at a time, and one video at a time, so it never takes more memory than your Mac can spare. -j 1 makes it work on one file at a time. Ctrl-C stops: files being made are finished or dropped, and your originals stay as they are.

Questions

Why isn't Feather CLI in the App Store with Feather?

Apps from the App Store run in a sandbox. A sandboxed command-line tool can't open the files you name in Terminal, so Feather CLI is installed separately. It will be signed with our Developer ID and notarised by Apple.

How does Feather CLI know I have Feather Pro?

It reads the App Store receipt of Feather on this Mac: it checks Apple's signature, and that the receipt belongs to this Mac. This happens offline, and nothing is sent.

Does it work on a server or in CI?

Not at the moment. Feather CLI needs Feather with Feather Pro on the same Mac.

Does it work on an Intel Mac?

No. Feather 2 is made for Apple silicon.

Questions or ideas? Get in touch through studiomaxredecker.com.