How I Fixed a Broken Free Image Compressor Process

2026-07-30 · 3 min read

A client's Lighthouse performance score was stuck at 35. The audit flagged images as the top offender — unoptimized PNGs with embedded metadata, 16-bit color depth for web-only images, and dimensions 3x larger than their display size. After lossless compression, the score jumped to 92. Google started ranking them above their competitors within three weeks.

The Old Way I Used to Do This — And Why I Stopped

For the longest time, my approach was: find a free converter online, upload the file, download the result, and hope for the best. It worked maybe 80% of the time. The other 20% produced files with wrong dimensions, missing transparency, or compression artifacts that made text unreadable.

The real problem was not the converters themselves. It was that I did not know what I did not know. I was not checking the source file against Google's Web Vitals program — Largest Contentful Paint (LCP) thresholds before converting, so I was feeding malformed inputs into tools that silently produced broken outputs. No error message, just a bad file.

What I Switched To — And Why It Stuck

Now I use a two-pass approach. Pass one: validate the source. I check the file against the PNG specification (ISO/IEC 15948:2004) — lossless compression algorithm to catch issues before conversion — wrong color space, missing metadata, improper dimensions. Pass two: convert with a tool that preserves everything the source had. Our advanced compression engine handles pass two without stripping alpha channels or downscaling without asking.

The difference is night and day. I went from a 20% redo rate to essentially zero. Use the two-pass method →

The Edge Case That Still Catches People Off Guard

If your source file has a color profile embedded — and most professional design exports do — a generic converter might discard it. The result looks fine on your screen but prints with shifted colors. I only caught this because a client sent me a photo of a printed banner where the brand blue had turned purple.

Now I make sure the converter preserves embedded ICC profiles. It is one of those things you do not think about until it burns you. Then you never forget.

Maria Rodriguez Written by Maria Rodriguez — DevOps Engineer. More about me →