Image Compressor — Free, Fast & Private
Compressing an image means re-encoding it so the file takes up less space. There are two ways to get there. Lossless compression finds redundancy in the pixel data and packs it more efficiently, so decompressing gives back the exact original — PNG works this way. Lossy compression throws away detail the eye is unlikely to notice and never gets it back, which is how JPEG, WebP, and AVIF reach much smaller files than PNG ever could for a photo.
The quality slider in a lossy encoder is not a straight trade of "some quality for some size." Most encoders spend their effort on the ranges that matter most to human vision — smooth gradients, fine edges — and get more aggressive on ranges that don't, like the fine noise in a photograph's shadows. That's why dropping from 95 to 80 barely changes what an image looks like, but the file can shrink by half, while dropping from 80 to 40 saves comparatively little more and starts to show. The relationship between the number on the slider and what you can actually see is a curve, not a line, and it bends hardest in the upper range — which is why most images hold up fine well below their default export quality.
MiniPx runs this entire process on your device. JPEG, PNG, and WebP encode through your browser's own image APIs; AVIF — which few browsers can encode natively yet, even though most can display it — runs through a WebAssembly codec that downloads once (about 3.4 MB) and is cached after that. Either way, the pixels are read, re-encoded, and written back to a file without a network request carrying them anywhere. You can confirm this yourself: open your browser's network tab, drop in a photo, and watch nothing image-shaped go out.
Which format should you actually use?
JPEG is the default for photographs and anything with continuous tone — skies, skin, textures. Its compression is built around smooth gradients, and every device and platform from 1998 onward can open one. It has no transparency channel, so it's the wrong choice for a logo or icon that needs to sit on different backgrounds, and its compression artifacts show up as blocky noise around hard edges, which makes it a poor fit for screenshots and flat graphics too.
PNG is lossless and supports full transparency, which makes it the right call for logos, icons, line art, and screenshots — anything with flat color and sharp edges, where JPEG's gradient-tuned compression works against you. The trade-off is size: a PNG of a photograph is routinely several times larger than a JPEG or WebP of the same image at a quality most people can't tell apart, because lossless compression can't discard the detail a lossy encoder would.
WebP covers both cases in one format — it has a lossy mode that beats JPEG at equivalent quality and a lossless mode that beats PNG, plus transparency support either way. Browser support has been near-universal for years now, which is why it's a safe general-purpose default when you're not sure which of the two above you'd otherwise reach for. The one place it can lose is encode time on very large batches, where its extra work over JPEG adds up.
AVIF produces the smallest files of the four at a given visual quality, particularly on photographic content, and it supports transparency too. The cost is on the way in, not the way out: encoding is slower, and — as above — most browsers still can't produce an AVIF file themselves without help, which is why MiniPx downloads a small WebAssembly encoder for it rather than relying on a built-in one. Every current browser can display an AVIF once it exists, so the format is safe to ship; producing one locally is the part that needed extra work.
A rough way to decide: photo going on the web where size matters most → AVIF or WebP. Photo that has to open anywhere, including older software → JPEG. Logo, icon, or anything needing transparency on flat color → PNG or WebP. Screenshot with text in it → PNG, because JPEG's gradient-tuned artifacts blur small text.
Choosing a target size and a quality that survives it
Most target sizes come from somewhere else's limit, not a preference — a form that rejects anything over 100KB, an email attachment cap, a marketplace listing rule. Work backward from that number rather than picking a quality first and hoping: start around 80, watch the output size as you adjust, and stop lowering it the moment the size clears your target with a little headroom. Because the quality curve bends hardest at the top, that first drop from a default export usually buys most of the size reduction with the least visible cost — the real damage tends to show up only once you're pushing well past the point the file already met its target.
If the file needs to land on an exact number rather than "roughly small enough," MiniPx's compressor watches the output size live as you move the slider, so you can stop exactly where the target is met instead of guessing and re-exporting. For the common exact targets, there are dedicated pages set up with the right starting point already — linked below.
