Measuring real savings with SSIMULACRA2
File size only tells you half the story. Here's how a perceptual metric lets you trust a lossy setting — and push it further than you'd dare by eye.
File size only tells you half the story. Here's how a perceptual metric lets you trust a lossy setting — and push it further than you'd dare by eye.
It's easy to make an image smaller. The hard part is knowing whether it still looks good — at scale, across a whole library, without squinting at every file. That's exactly the gap a perceptual quality metric fills, and the best one available today for stills is SSIMULACRA2.
A 90% smaller file sounds great until you notice the blocky sky or the smeared text. Size measures the cost, not the result — so optimizing for size alone quietly pushes you toward visibly degraded images. You need a second number that measures quality, so you can find the sweet spot where the file is small and it still looks right.
The classic metrics fall short. PSNR just measures pixel error and barely tracks what humans actually see. SSIM was a step up but is easy to fool and saturates at high quality. Both can rate two images as "equal" when one clearly looks worse — which makes them shaky guides for choosing a compression setting.
SSIMULACRA2 is a modern metric tuned against large databases of human quality ratings. It models the image the way perception does — at multiple scales and in a color space weighted for how the eye responds — so its scores line up with what people actually notice. When it says two images look the same, they usually do.
The score runs up to 100, and the bands below are a reliable rule of thumb. For most web photos, aiming for ~80–90 gives you visually-lossless results with meaningful size savings; pushing below 70 starts to show on gradients, skin and text.
Instead of guessing a quality number, pick a quality floor in your head and use a perceptual metric like SSIMULACRA2 to confirm a setting clears it. Score a few representative images, find the quality that lands in your target band, then apply it across the batch — so a whole library lands at consistent, trustworthy quality. You stop playing it safe at "quality 90" and ship the savings you were leaving on the table.
# Find a quality that clears your perceptual target, then batch it imageforge photo.jpg --convert avif --quality 88 imageforge ./batch/*.jpg --convert webp --quality 85 --json
Dial in a quality you can trust, then ship lighter images — 100% on your Mac.
Join the waitlist