Shrinker Pro

arm64 only · macOS 14+

Minify images and graphics with one drop.

A native ARM image compressor for Apple Silicon Macs, M1 through M6. Free, no subscription. Drag files onto the window and it writes smaller copies beside the originals. That is the entire interaction.

Download for Apple Silicon
macOS 14+ · Apple Silicon · Free · 5.8 MB
Version 1.6.1 Signed & notarized 9 input formats No Electron
Shrinker Pro compressing six images. Each row shows the filename, a savings bar, the before and after file sizes, and the percentage saved.

Why a native rewrite

This one still works after Rosetta goes away.

Every Mach-O binary in the app is arm64-only. Not “supports Apple Silicon”: only Apple Silicon, verified at build time by a gate that blocks the release if any Intel code, any non-system library, or any wrong deployment target appears in the bundle.

Apple ended Intel Mac support with macOS 26 Tahoe, and Rosetta 2 is on a published sunset path: full availability through macOS 26 and 27, then narrowing to a limited subset for older game frameworks. Shrinker Pro is a SwiftUI rewrite of Image Shrinker, whose latest release (1.6.4, from October 2020) ships x86_64-only (Intel) compression binaries. On an ARM Mac they run through Rosetta 2, and fail outright without it.

There is no browser engine in here either. The download is 5.8 MB. The app it replaces shipped Electron.

Languages

It speaks 36 languages.

There is nothing to choose. Shrinker Pro follows the language your Mac is already set to — including the update notices, which are translated too, so you never get a window in one language and a dialog in another.

  • العربية
  • català
  • čeština
  • dansk
  • Deutsch
  • Ελληνικά
  • English
  • español
  • فارسی
  • suomi
  • français
  • עברית
  • hrvatski
  • magyar
  • íslenska
  • italiano
  • 日本語
  • 한국어
  • norsk bokmål
  • Nederlands
  • norsk nynorsk
  • polski
  • português (Brasil)
  • português (Portugal)
  • română
  • русский
  • slovenčina
  • slovenščina
  • svenska
  • ไทย
  • Türkçe
  • українська
  • Tiếng Việt
  • 简体中文
  • 繁體中文
  • 中文(香港)

Arabic, Hebrew and Persian lay the whole window out right to left. Where macOS already has a word for something, the app uses that word rather than a fresh translation of it, so Reveal in Finder and Keep Both read the way the rest of your Mac does.

The shrinker command stays in English on purpose. Its output is something scripts read, and a message that changes wording with your region is a message no script can match on.

Formats

A dedicated encoder per format.

Nine input formats, each optimised in place by the encoder built for it. Version numbers are the ones shipping in 1.6.1.

Compression engine used for each image format
FormatEngine
JPEGmozjpeg 4.1.5
PNGpngquant 3.0.3
GIFgifsicle 1.96
SVGsvgo 4.1.0, in JavaScriptCore
WebPlibwebp 1.6.0
JPEG XLlibjxl 0.12.0
AVIF / HEICImageIO (system)
Per-format conversion rules and their defaults
InputConvert toDefault
PNGKeep PNG · JPEG · WebP · AVIF · JPEG XLKeep PNG
JPEGKeep JPEG · WebP · AVIF · JPEG XLKeep JPEG
HEIC / HEIFJPEG · WebP · AVIF · JPEG XLJPEG
WebPKeep WebP · JPEG · AVIF · JPEG XLKeep WebP
AVIFKeep AVIF · JPEG · WebP · JPEG XLKeep AVIF
JPEG XLKeep JPEG XL · JPEG · WebP · AVIFKeep JPEG XL

Rules are per input format, so you can turn every PNG into WebP while JPEGs stay JPEGs. SVG and GIF never convert. SVG is vector and GIF is usually animated, so converting either would destroy what makes it useful.

For a one-off there is Convert all to in the window’s session settings bar (JPEG, WebP, AVIF, JPEG XL or PNG), which overrides every rule above for as long as the app is open and leaves your stored settings alone. The bar also carries Quality, a Max size and a Crop, and states them in one line at the bottom of the window, so what is about to happen to your files is never out of sight.

How it works

Three steps, and one of them is optional.

A folder named Website images being dragged onto Shrinker Pro. The drop zone’s dashed border turns blue while the folder hovers over it.
01

Drop files or folders

The whole window is a drop target, not just the dashed zone. Or press ⌘O.

Three rows of Shrinker Pro’s session history, each with a savings bar: loading-spinner.gif, 63 KB to 51 KB, 19% smaller; team-photo, converted from HEIC to JPEG, 425 KB to 43 KB, 90% smaller; product-detail-01.jpg, 648 KB to 81 KB, 88% smaller.
02

Watch the savings

Session history shows before and after sizes with a savings bar per file. Click a row to reveal it in Finder.

A Finder list with each original beside its smaller .min copy: hero-banner@2x.png at 5.6 MB and hero-banner@2x.min.png at 2.2 MB; loading-spinner.gif at 63 KB and loading-spinner.min.gif at 51 KB; logo-mark.svg at 44 KB and logo-mark.min.svg at 27 KB.
03

Originals stay put

Keeping your originals is the default, so output lands beside each one with a .min suffix. Send it to a folder you choose, or a minified subfolder, in Settings — and there nothing of yours can be replaced at all.

Everything it does, and where.

The Shrinker Pro window at rest, showing a dashed drop zone reading “Drag files here”, listing PNG, JPG, HEIC, WebP, JXL, AVIF, GIF, SVG, above a session settings bar reading “This session: App default · Standard · No limit” with an Adjust button.
At restDrop anywhere in the window, not just the dashed zone.
The Output tab of Shrinker Pro settings: where files are saved, whether they go in a “minified” subfolder, whether originals are kept or replaced, the metadata policy, and the notification and result-list toggles.
Settings — OutputWhere files go, what they are called, and what survives the trip.
The Conversion tab of Shrinker Pro settings: a rule per format for PNG, JPEG, HEIC/HEIF, WebP, AVIF and JPEG XL, and the Quality level used when encoding.
Settings — ConversionOne rule per format, and the quality everything is encoded at. Two tabs, because one column of this was taller than a laptop screen.
The Shrinker Pro session settings panel, with “Convert all to” set to WebP, Quality set to High, Max size set to 2000 pixels and Crop to set to a 16:9 ratio, beside a Reset link and a Done button.
Session settingsThe line along the bottom of the window says what the next files you drop will become — WebP · High · Max 2000px · Crop 16:9 — and Adjust opens the four controls that decide it. Convert everything to one format, dial the quality up or down, cap the longest side so a folder of camera originals comes out at a size a website can use, and crop from the center to a shape or to an exact size. It all lasts until you quit, and none of it touches your saved defaults, so a one-off batch never costs you the settings you keep.

Get it

Free, notarized, and 5.8 MB.

Open the DMG and drag Shrinker Pro to Applications. It is signed with a Developer ID and notarized by Apple, with the ticket stapled to the DMG, so it opens by double-clicking: no right-click-Open, no Gatekeeper warning, no network round trip on first launch.

  • macOS 14 Sonoma or later
  • Apple Silicon only (arm64)
  • Notarized Developer ID, ticket stapled
  • Updates via Sparkle, signature-verified
Download for Apple Silicon All releases and changelog →

Or install the app with Homebrew. It still updates itself through Sparkle.

brew install --cask jeso87/tap/shrinker-pro

There is also an optional command-line tool, for scripts and build steps. The app does not need it and does not use it.

brew install jeso87/tap/shrinker

Questions

Coming from Image Shrinker?

Is there an ARM version of Image Shrinker?

Not as of its latest release. Image Shrinker 1.6.4, from October 2020, ships x86_64 (Intel) compression binaries, so on an ARM-based Mac they only run through Rosetta 2. Shrinker Pro is a native ARM rewrite of it: the same drag-and-drop workflow and the same compressors (mozjpeg, pngquant, gifsicle and svgo), rebuilt from source as arm64 binaries.

Does Image Shrinker work on Apple Silicon Macs?

Only through Rosetta 2. Its compression binaries are Intel code, so on an M1, M2, M3, M4, M5 or M6 Mac they run under translation, and fail outright on a Mac where Rosetta is not installed.

Why does Image Shrinker ask me to install Rosetta?

Because it contains Intel (x86_64) code. Rosetta 2 is the translation layer that lets Apple Silicon Macs run Intel apps, and macOS points you to it when you open one. Apple has published a sunset path for Rosetta 2: full availability through macOS 26 and 27, then only a limited subset for older games. An app that depends on it has a deadline. Shrinker Pro contains no Intel code, so it never needs Rosetta.

Is Shrinker Pro the same app as Image Shrinker?

No. It is an independent rewrite. Image Shrinker is an Electron app by Stefan Schulz-Lauterbach, released under CC0-1.0. Shrinker Pro rebuilds the same idea in SwiftUI with the same underlying compressors (mozjpeg, pngquant, gifsicle and svgo), compiled as native arm64 binaries, and adds WebP, AVIF and HEIC support.

What is the best Image Shrinker alternative for Apple Silicon?

Shrinker Pro was built to be the native successor: the same drag-and-drop workflow, the same compressors, no Electron and no Rosetta. It is free, signed with a Developer ID and notarized by Apple.

Does Shrinker Pro run on M1, M2, M3, M4, M5 and M6 Macs?

Yes, on every Apple Silicon Mac: M1, M2, M3, M4, M5 and M6, and their Pro, Max and Ultra versions. It requires macOS 14 Sonoma or later, and there is no need to install Rosetta 2.

Does Shrinker Pro run on Intel Macs?

No, and that is deliberate. Apple ended Intel Mac support with macOS 26 Tahoe and Rosetta 2 is on a published sunset path, so the app is arm64-only by design. It requires macOS 14 Sonoma or later on Apple Silicon.

Does it upload my images anywhere?

No. Compression happens on your Mac, using encoders bundled inside the app. Shrinker Pro makes no network requests except a daily update check, which sends no identifiers or usage data and never installs anything without asking you first.

Is Shrinker Pro free?

Yes. No subscription, no account, no trial. It is distributed directly rather than through the Mac App Store, and its source is on GitHub under the MIT license.

Is Shrinker Pro a pngquant GUI for Mac?

In part. PNGs are compressed by pngquant 3.0.3, bundled as a native arm64 binary, so the app needs nothing installed alongside it. JPEGs go through mozjpeg, GIFs through gifsicle, SVGs through svgo, WebP through libwebp and JPEG XL through libjxl: one window, and the right encoder for each file. Since 1.2.0 there is also an optional command-line tool, shrinker, installed with Homebrew for scripts and build steps. It runs the same encoders, and the app still needs nothing.

Is the compression lossy?

For most formats, yes. That is where the savings come from. PNGs are reduced to an optimised palette by pngquant, JPEGs are re-encoded by mozjpeg at quality 75, and WebP and AVIF conversions encode at quality 80. Those are the Standard defaults: a Quality control in the session settings bar at the bottom of the window offers Super Low, Low, Standard or High for JPEG, WebP, JPEG XL, AVIF and HEIC, while PNG and GIF come out the same whichever you pick. Choosing one there applies until you quit; the default every session starts from is in Settings. GIF optimisation with gifsicle is lossless. Originals are kept by default, so you can compare the two before deciding which to keep.

Can it convert HEIC to JPEG?

Yes, in batches. HEIC and HEIF convert to JPEG by default: drop a folder of iPhone photos and each one comes out as an upright JPEG, with the original left where it was. You can choose WebP, AVIF or JPEG XL instead. Conversion rules are per input format, so converting HEIC never touches your PNGs.

Can it convert PNG and JPEG to WebP or AVIF?

Yes. Set the PNG or JPEG rule to WebP or AVIF in Settings and every file of that format you drop is converted, while other formats follow their own rules. For a one-off batch, “Convert all to” in the window’s session settings bar turns everything into JPEG, WebP, AVIF, JPEG XL or PNG for as long as the app is open.

Can it convert JPEG to JPEG XL without losing quality?

Yes. Since 1.6.0, a JPEG converted to JPEG XL keeps the JPEG’s own compressed data rather than decoding and re-encoding it, so nothing is lost: the file comes out about a fifth smaller, and the original JPEG can be rebuilt from it byte for byte. Quality does not apply on that path. A JPEG that is rotated, resized or cropped on the way is encoded again at the chosen Quality instead. JPEG XL files can also be dropped in and shrunk like any other format.

Can it resize images as well as compress them?

Yes. Set a max size in the window and nothing comes out larger than that on its longest side. A 6000px photo capped at 2000px comes out 2000px wide, keeping its proportions, while anything already smaller is left at the size it arrived. It applies to the whole batch, GIFs included, and an animated GIF stays animated. SVG is vector, so it has no pixel size to cap.

Can it crop images to a fixed size or shape?

Yes, from the center. Give it a ratio such as 16:9 and every image is cropped to that shape at whatever resolution it already had; give it a pixel size such as 1200x1200 and each one is cropped to that shape and then scaled to exactly that size, which is what you want when a folder of product photos all have to come out the same. Nothing is ever enlarged: an 800x600 image asked for 1200x1200 comes out 600x600, the right shape and smaller than asked. Animated GIFs keep every frame, and SVG is vector so it has no pixels to cut.

Can I compress a whole folder of images at once?

Yes. Drop a folder on the window and Shrinker Pro works through every supported image inside it, including subfolders. Hidden folders and packages such as apps and photo libraries are skipped, so a dropped folder never rewrites the inside of a Photos library. You can also select images in Finder and choose Open With → Shrinker Pro, or drop them on its Dock icon.

Why do compressed photos come out rotated the wrong way?

Because most compressors discard the EXIF orientation tag that tells an app which way up the photo goes. Shrinker Pro applies the rotation to the image itself instead of passing the tag along, so a portrait iPhone photo stays upright everywhere (in Preview, in Finder, and in a browser), whatever format it is converted to.

Can it strip GPS location from photos?

Yes. Metadata has three settings: keep everything, keep copyright and credit only, or keep nothing. The middle option keeps the fields that say who made the image and drops GPS coordinates, capture time and camera details, which is useful before posting a photo publicly.

Does it replace my original images?

Not unless you ask it to. By default the smaller copy is written beside the original with a .min suffix, so you end up with both. Replacing originals in place is a separate choice in Settings, and it is only offered when output is going into that same folder — send it to a folder you choose, or into a minified subfolder, and nothing of yours can be replaced at all. There the same choice simply decides whether the copy is called photo.min.png or photo.png.

Open source

Read the code.

Shrinker Pro's own source is MIT licensed and lives on GitHub, build scripts included. The compressors are compiled from pinned upstream tags as static arm64 binaries, and a release gate verifies every Mach-O before anything is notarized.

It is a SwiftUI rewrite of Image Shrinker by Stefan Schulz-Lauterbach, released under CC0-1.0. CC0 requires no attribution. Credit is given anyway.

Shrinker Pro is MIT licensed. It bundles third-party compressors under their own licenses, including GPL; see third-party licenses. Corresponding source for those components is attached to every release.