Blog · Performance

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.

score: 0 → 100

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.

Why file size alone lies

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.

PSNR and SSIM aren't enough

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.

What SSIMULACRA2 measures

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.

How to read the score

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.

Meaning
90+
Very high — visually lossless
70
High — hard to spot differences
50
Medium — visible on close look
30
Low — clearly degraded

Using it in practice

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

Trust your compression settings.

Dial in a quality you can trust, then ship lighter images — 100% on your Mac.

Join the waitlist
Keep reading