Download on the Mac App Store

Optimise your images without any loss in quality

Download on the Mac App Store

Requires macOS Monterey 12.0 or later
Last updated: 2026-07-08

Screenshot 1
Screenshot 2
Screenshot 3

Brutify reduces the file size of images with no loss in quality.

Drag in a folder—app assets, website images, game textures, email attachments—and Brutify gets on with the job, handing back perfectly optimised files. Don’t just optimise it, Brutify it!

Supported Formats

  • JPEG (.jpg, .jpeg)
  • PNG (.png, .apng)
  • WebP (.webp)
  • GIF (.gif)—animation-aware, requires adding the gifsicle engine
  • Folders—recursive directory processing

Optimisation Engines

Brutify runs every bundled engine that applies to a file in parallel, then keeps the smallest result.

Bundled engines—permissive licences, universal Apple Silicon and Intel binaries:

  • PNG (lossless): ect, oxipng, zopflipng
  • PNG (lossy): pngquant (classic BSD)
  • JPEG: jpegtran and cjpeg (mozjpeg)
  • WebP: cwebp

Tune Every Engine

  • Settings has General and Tools tabs
  • The Tools tab lists each engine per mode and shows its actual command-line parameters
  • Turn engines on or off, or tick Edit parameters to customise the arguments—they run verbatim
  • Help ▸ Tools lists every engine with its parameters and full licence text

Bring Your Own Engines

Some engines can’t be bundled—either their licences (GPL) prevent redistribution on the Mac App Store, or they’d add too much to the download size. Drop the binary into the Tools folder and Brutify will use it:

  • PNG (lossy): pngquant (newer GPL3 version)
  • JPEG (lossy): jpegoptim (GPL), cjpegli (left out for size, not licence)
  • GIF: gifsicle (GPL)

Only engines Brutify already knows are picked up; arbitrary binaries are ignored. A user-supplied binary takes precedence over a bundled one—handy for trying a newer build.

Processing Modes

You decide which engines run in each mode from the Tools tab:

  • Fast—Quick optimisation with good compression ratios. Truly lossless—no quality or chroma change.
  • Slow—Maximum optimisation with more iterations and thorough recompression. Also fully lossless.
  • Lossy—Allows quality reduction for maximum size savings

Status at a Glance

A coloured dot beside every file shows exactly where it stands:

  • Green—optimised; a smaller file was written
  • Red—the result came out larger, so your original was kept
  • Grey (filled)—the file couldn’t be processed
  • Grey (hollow)—pending, or already as small as it gets
  • Spinner—currently being optimised

A Real File List

  • Resizable, sortable columns: status, filename, path, original size, optimised size, savings %, and best tool
  • Drag to reorder columns, or show and hide them from the View menu
  • “Follow Processing” scrolls to the file currently being optimised
  • Multi-select, with a right-click menu for Quick Look, Reveal in Finder, Remove, and Undo

Your Originals, Preserved

  • Keeps EXIF, ICC, and XMP metadata by default—turn it off when you want the smallest possible file
  • Retains each file’s original Date Created and Date Added
  • Undo and macOS file versioning restore files and their dates exactly

Command Line

Optimise from the terminal—drop Brutify straight into your build scripts:

  • brutify --cli file1.jpg file2.png /path/to/folder/
  • Headless operation with real-time progress
  • Per-file results and an aggregate savings summary
  • Exit codes reflect success or failure

Hands-Off Automation

Wire Brutify into Open With, the Services menu, Automator, or Shortcuts and let it run itself—both options live in Settings and stay off until you want them:

  • Quit after processing—optimise the handed-in files, then quit; a one-shot optimiser for your pipelines
  • Run without a window—fully headless: no window, no Dock icon, just the work; a failure quietly opens the window so you can take a look

A Good Mac Citizen

Brutify is built to run hundreds of files without ever getting in your way.

  • Kind on your CPU—parallel work is capped at one below your core count, keeping your Mac responsive
  • Stays smooth—heavy per-file work runs off the main thread, so the interface stays responsive throughout, with a notification when a batch finishes
  • Managed engines—every engine runs under a watchdog timeout, so a hung or runaway tool is skipped rather than stalling the whole batch
  • Safe writes—results are written atomically and only swapped in when complete
  • Originals first—your source file stays put until a smaller version is ready
  • Fully offline—every bundled engine runs on your Mac; nothing is ever uploaded
  • Properly sandboxed—Brutify only touches the files you grant it, remembered safely with security-scoped bookmarks

Light Footprint

  • Only 4 MB app download size
  • Less than 40 MB base memory footprint
  • Native, multi-threaded engine manager

How It Compares

Here’s how this app compares to other similar apps.

BrutifyOptimageImageOptim
App Store
Apple silicon
Add your own engines
Editable parameters
Undo / versioning
Lossy mode
Finder integration
Batch folders
WebP support
App size4 MB63 MB19 MB
What does "Keep for revert" do?

With Keep for revert on, Brutify saves each original as a macOS file version before optimising, so you can restore it any time from File ▸ Revert To. It’s off by default as it uses some extra disk space.

This is separate from Undo: Undo always reverses the optimisations you just made, while Keep for revert preserves the untouched original—with its original dates—beyond the current session.

It’s space-efficient, too. macOS stores versions by deduplicating at the chunk level: unchanged parts are kept only once, so a file saved many times costs the shared data plus each version’s small changes—not the full size multiplied by the number of versions. Old versions are pruned automatically when space is needed.

Is it really lossless?

Yes—in Fast and Slow modes. Brutify re-encodes the image more efficiently without touching a single pixel: no quality reduction, no chroma change, identical output. Only Lossy mode trades quality for bigger savings, and it’s never used unless you choose it.

Does Brutify keep my metadata?

Yes by default—EXIF, ICC, and XMP are all preserved, and each file keeps its original Date Created and Date Added. For the absolute smallest files, turn metadata off in Settings and Brutify will strip it.

What's the difference between Fast, Slow, and Lossy?
  • Fast—quick, lossless optimisation with good savings. The everyday choice.
  • Slow—lossless too, but runs more iterations and thorough recompression for the smallest possible result.
  • Lossy—allows some quality reduction for maximum savings, when that’s an acceptable trade.

You decide which engines run in each mode from the Tools tab.

Why did a file get larger or not shrink?

Some images are already as compact as they can get. If every engine’s result comes out larger than your original, Brutify keeps the original untouched—you never end up with a bigger file. A file may also be skipped if it can’t be processed. The status dot beside each file shows which case applies.

Are my images ever uploaded?

Never. Brutify is fully offline—every engine runs locally on your Mac and nothing is ever sent anywhere. It’s also properly sandboxed, so it only touches the files and folders you explicitly grant it.

Will it bog down my Mac on big batches?

No. Brutify caps parallel work at one below your core count and runs the heavy lifting off the main thread, so your Mac stays responsive across hundreds of files. Each engine also runs under a watchdog timeout, so a stuck tool is skipped rather than stalling the whole batch.

Where are the tortoise and rabbit from the beta version?

You can bring them back! Right-click the toolbar, choose “Customize Toolbar…”, then drag the animal picker onto the toolbar.

How do I add my own tools?

First, be warned that this is a power user feature and it is not required unless you have very specific requirements.

To let Brutify run engines you supply yourself—the ones that can’t be bundled on the Mac App Store, such as gifsicle or pngquant—you’ll need to un-sandbox the app.

Note you’ll need to do this every time you update Brutify. This is an unsupported feature, so run it at your own risk.

Simply execute this command in the Terminal:

find /Applications/Brutify.app/Contents/MacOS -type f -exec codesign --force --sign - {} +

In case this command fails with “resource fork, Finder information, or similar detritus not allowed”, execute this first:

/usr/bin/xattr -cr /Applications/Brutify.app

Brutify will now run un-sandboxed and will be able to use the engine binaries you drop into its Tools folder.