Free App: Shrinker Pro, a native Apple Silicon rewrite of Image Shrinker (free, open source)


I’ve used Image Shrinker by Stefan Schulz-Lauterbach for years. Drag images onto a window, get smaller files beside them. It’s one of those tools that does exactly one thing and then gets out of the way.

The problem is that it’s an Electron app whose compression binaries are x86_64-only. On Apple Silicon they run through Rosetta 2, and fail outright on a Mac that doesn’t have it. Apple ended Intel support with macOS 26 Tahoe, and Rosetta is on a published sunset path: full availability through 26 and 27, then narrowing to a limited subset for old game frameworks. So the tool I rely on has a deadline on it.

Rather than wait, I rewrote it. Shrinker Pro is a SwiftUI app with the same drag-and-drop workflow and the same underlying compressors (mozjpeg, pngquant, gifsicle, svgo) rebuilt from source as static arm64 binaries. Every Mach-O in the bundle is arm64-only, and a build gate blocks the release if any Intel code, non-system library, or wrong deployment target shows up. The download is 3.4 MB; the thing it replaces shipped a browser engine.

While I was in there I added what I’d always wanted: WebP, AVIF and HEIC, plus per-format conversion rules. You can turn every PNG into WebP while JPEGs stay JPEGs. HEIC converts to JPEG by default, since that’s usually the point. SVG and GIF never convert, because vector and animation are exactly what you’d destroy.

It’s free, MIT licensed, signed with a Developer ID and notarized, so it opens by double-clicking. No subscription, no account, no telemetry. Auto-updates through Sparkle.

macOS 14+, Apple Silicon only. There’s no Intel build and there won’t be. That’s the whole point of the exercise.

Full credit to Stefan. Image Shrinker is CC0, which requires no attribution, but it’s his idea and his design I’m building on. Happy to answer anything about the arm64 build setup or the conversion routing.


10 Likes

Thanks, I will try it out!

1 Like

I am in similar situation. I started using my favorite optimizer called ImageOptim more than a decade ago and it still gives me the best results in comparison with other optimizers. ImageOptim is not developed anymore, runs in Rosetta and its days are coming to an end.

I also felt the need to find a reliable optimizer that would work into the future on modern Macs. Thank you, Joshua…

1 Like

nope, it’s Apple Silicon

Yes, the purpose of this is to build an app that will work well into the future, so this is Apple Silicon only

3 Likes

Tried it:

  • Shrinker Pro generates files that are too large, with no way to control them.
  • I prefer sticking with the Squoosh web app; it offers more control and smaller files while maintaining visual quality.

Yes it needs compression controls…

You need to look at the original Image Shrinker to understand this port, it never had compression settings either.

That being said I have added simple compression settings and am testing before I update after the weekend

Sneak peek

3 Likes

Shrinker Pro 1.2.0 — quality levels, a reworked window, and a command-line version

Quality levels. The most common request was control over how hard it compresses. There are now four: Super Low, Low, Standard and High. Standard is the default and produces exactly what earlier versions did — upgrading changes nothing about your output unless you choose it to.

It applies to JPEG, WebP, AVIF and HEIC. PNG and GIF are deliberately left out, and that’s worth explaining rather than hiding: pngquant’s quality setting is a floor with an abort, so asking for more than an image can give you produces a failure rather than a bigger file, and gifsicle’s equivalent runs the opposite direction, where a higher number means worse. Wiring either to a four-stop control would have turned a preference into a surprise. So PNG and GIF come out the same whichever level you pick, and the app says so where you choose it.

The controls moved into a footer. “Convert all to” used to sit above the results list, as a row of buttons that pushed the list down. It’s now a dropdown pinned to the bottom of the window, with Quality beside it, and the history scrolls above them. Both controls stay put however long the list gets. On a narrow window they stack instead of crowding.

While moving it, “Off” became “App default”, which says what actually happens — your saved per-format rules apply — rather than only what doesn’t.

And the one nobody asked for: there’s a command line now.

brew install jeso87/tap/shrinker

shrinker photo.jpg
shrinker --quality super-low --to webp ./screenshots
shrinker --json --quality 85 diagram.png

Same engine, same bundled encoders, no window. It writes a .min copy beside each original and only overwrites with --in-place. --json prints one object per file, which is the point: it exists for scripts, build steps, and for AI assistants that can run a command but cannot drag a file onto a drop zone.

It is entirely optional. The app doesn’t need it, doesn’t use it, and doesn’t know it exists.

One fix worth naming. Compressing a file can no longer make it bigger. Re-encoding something already compressed can produce a larger file than you started with, and the app used to write that result and report it as a saving — re-optimising a WebP grew it by about 36 bytes, every time. Now a same-format result that comes out larger is discarded and your original is left alone. Converting between formats is deliberately exempt: a photo turned into lossless PNG is expected to grow, and that’s the thing you asked for.

Still free, still no subscription, no account, no telemetry. Signed with a Developer ID and notarized, so it opens by double-clicking. Auto-updates through Sparkle.

macOS 14+, Apple Silicon only. There’s no Intel build and there won’t be. That’s the whole point of the exercise.

6 Likes

Hi Joshua!

I’m writing to send you my most sincere compliments on the new version 1.2.0 of Shrinker Pro. In previous versions, I wasn’t entirely satisfied with the quality-to-weight ratio compared to other tools like Squoosh, but with this update, I was genuinely pleasantly surprised by the results. I’m sure, right from now on, that Shrinker Pro will definitely become one of my absolute favorite applications.

Seeing as the app is amazing and far outperforms the other 4 alternatives I have on my Mac, I wanted to take the opportunity to suggest two small personal modifications, tied exclusively to my workflow needs:

  • Suffix Management: The option "Reduced copies are saved together with originals with a .min suffix" is super convenient, but it would be fantastic to have a toggle switch to enable or disable it at will. That way, when I don’t want the suffix, I avoid having to manually rename an entire folder of files afterward.
  • Overwrite Warning: When doing quality tests on the same file (trying low, standard, presets, etc.), current files are instantly overwritten without any warning. It would be very useful to include a small confirmation pop-up that alerts you when a file with the same name already exists, asking if you want to overwrite it or rename it.

Congratulations again on the great work done with this update!

1 Like

I concur. These would be nice additions.

If you turn on save into a folder, either options, and turn off keep originals, you get the file without min in the name.

I will look at clearing this up and making it easier to set. As well as the overwriting issue.

3 Likes

Shrinker Pro 1.3.0 is out. Two things changed that are worth a look.

It resizes. Set a maximum size and nothing comes out bigger than that on its longest side. A 6000 pixel photo capped at 2000 comes out 2000 pixels wide with its proportions kept, and anything already smaller is left exactly as it is. It never enlarges. Animated GIFs stay animated, and SVG is untouched, being vector.

The bottom of the window now tells you what is about to happen. One line: the format, the quality and the size limit that the next files you drop will get. Adjust opens those three controls. Everything in there resets when you quit, and none of it changes the defaults you have saved, so a one off batch never costs you your settings.

The drop zone, and that line along the bottom.

Convert everything to one format, pick a quality, cap the size. Reset puts all three back.

Where the files go, what metadata survives, and the defaults every session starts from.

Also new since the last post here: it asks before replacing a file, with the choice to skip, keep both, or replace. And Settings is grouped into labelled sections instead of one long list of toggles.

Still free, no subscription and no account. 3.5 MB, macOS 14 or later, Apple Silicon only. Signed and notarized, so it opens by double clicking, and it updates itself.

https://shrinkerpro.app

5 Likes

I’m trying it out great work :clap:
I like the interface, too.

1 Like

I have been made aware of the settings window being too large and unable to be scrolled on small displays. A fix is in progress.

1 Like

You’re doing a great job—congratulations.

1 Like

Shrinker Pro 1.4.0 is out. It crops.

From the center, to a shape or to a size. Give it a ratio like 16:9 and every image is cut to that shape at whatever resolution it already had. Give it a size like 1200x1200 and they all come out at exactly that, which is what you want when a folder of product shots has to be uniform.

Two things to know. It never enlarges: an 800x600 image asked for 1200x1200 comes out 600x600, the right shape and smaller, rather than blown up and soft. And the shape is used exactly as typed, so a portrait photo cropped to 16:9 comes out a landscape strip rather than being flipped to suit.

Animated GIFs keep every frame. SVG is untouched, being vector.

The crop sits with the format, the quality and the size cap. Whatever you set lasts until you quit and never touches your saved defaults.

The drop zone, and the line along the bottom saying what the next files will become.

Also fixed: the Settings window would not scroll and was taller than a 13 inch screen, so the last sections were unreachable. It scrolls now and never opens taller than the display it is on.

Still free, no subscription and no account. 3.5 MB, macOS 14 or later, Apple Silicon only. Signed and notarized, so it opens by double clicking, and it updates itself.

https://shrinkerpro.app

5 Likes

Shrinker Pro 1.5.0 is out. It’s translated into 36 languages.

There is nothing to choose. It follows whatever language your Mac is already set to. Arabic, Hebrew and Persian lay the window out right to left.

The update notices are translated too, into all 36. They’re the same 36 Sparkle ships in, so the app and the “a new version is available” dialog can never turn up in different languages.

Where macOS already has a word for something, the app uses that word rather than a fresh translation of it — Reveal in Finder, Keep Both, Replace, Quality were each read out of the system’s own resources. These are machine translations against that terminology, not a native-speaker review of all 36, so if yours reads oddly I’d rather have the bug report than the politeness.

The shrinker command line stays in English on purpose: scripts read its output, and a message that changes with your region is one no script can match on.

Settings is two tabs now, Output and Conversion, and neither of them scrolls. It used to be one column taller than a 13 inch screen. The window sizes itself to the tab you’re on, and to the language it’s in: a row whose label and options no longer fit side by side stacks them rather than cutting the text off.

The drop zone, and the line along the bottom saying what the next files will become.

Also fixed: the crop fields hold five digits. They were documented as holding five and never did — anything from 12345 up was truncated while you typed it.

Still free, no subscription and no account. 3.7 MB, macOS 14 or later, Apple Silicon only. Signed and notarized, so it opens by double clicking, and it updates itself.

https://shrinkerpro.app

5 Likes