Image Compressor
Make JPG and WebP files smaller — by picking a quality, or by naming a target size in KB and letting the tool search out the quality that hits it. PNGs get the honest treatment: a real conversion to a lossy format, not a fake "PNG compression". Every result shows true before/after bytes.
Compress images
Drop JPG, WebP, or PNG files. JPG/WebP re-encode in place; PNG converts to the lossy format you choose below.
Two modes, one honest readout
The quality slider is the direct route: one encode at the setting you choose. The target-size mode is for the real-world constraint — "the form says maximum 200 KB" — and works like a disciplined guess-and-check: encode, measure the actual bytes, then binary-search the quality range, converging in at most eight attempts. Both modes end the same way: the row shows your file's genuine input size, output size, and (in target mode) the quality the search settled on. When the target is unreachable even at minimum quality, the tool says so and offers the smallest real result instead of quietly failing.
The PNG policy: convert honestly or not at all
Browser-side "PNG compression" tools generally re-encode your PNG… as a PNG of nearly the same size, because PNG is already losslessly compressed and canvas encoders lack the palette-quantization tricks of dedicated optimizers. This tool refuses to stage that pantomime. Drop a PNG and it converts to a genuinely smaller lossy format of your choice — JPEG (transparency flattens onto your chosen background, stated on the row) or WebP (keeps transparency) — with the conversion named plainly in the result.
When compression is the wrong lever
Quality settings fight for kilobytes; dimensions fight for megabytes. A 4000-pixel photo destined for an 800-pixel slot should be resized first — then compressed. And a file that is already tightly encoded may simply not shrink: when the output is not smaller than your input, the row tells you to keep the original. Metadata is stripped by re-encoding (EXIF, GPS included — privacy win, copyright-field caveat), and every output is re-decoded and verified before download.
Related tools
Cut pixels before bytes with the Image Resizer. For format switches with full control, the directional pages — PNG to JPG, PNG to WebP, JPG to WebP — explain each trade-off in depth.
Frequently asked questions
How does the "target size" mode work?
You name a size in KB; the tool encodes at maximum quality, checks the real result, and binary-searches the quality setting — halving the search range each attempt, converging within eight encodes. You get the largest quality that fits under your target, with the search summarized on the file row.
What if my target size is impossible?
The tool tells you. If even minimum quality cannot fit your target, the row reports the smallest size actually achievable and offers that file — it will not silently hand you a file that misses the target, and it will not pretend. Try a smaller target only after resizing dimensions down.
Why does this tool convert my PNGs instead of compressing them?
Because "PNG compression" through a browser is mostly fiction: PNG is already losslessly compressed, and a canvas re-encode cannot apply the specialized quantization tricks real PNG optimizers use. Rather than fake it, this tool offers the honest route — converting the PNG to JPEG or WebP, which genuinely shrinks it — and says exactly that on the row.
How much smaller will my image get?
This page will not quote a percentage, because none is honest for every image. The result depends on your image’s content and how compressed it already was. Every row shows the actual input and output bytes — including the case where re-encoding gains nothing and keeping your original is best.
Does compressing change my image’s dimensions?
No — this tool only re-encodes pixels at the same width and height, verified by re-decoding the output. To shrink dimensions (often the far bigger lever on file size), use the Image Resizer, then compress.
Is anything uploaded?
Nothing. All encoding attempts happen in your tab — even the target-size search, which may encode the image several times, costs zero network traffic. The methodology page shows how to verify with DevTools.
Local processing: every encode attempt happens in your browser — nothing is transmitted, even in target-size mode. See the methodology page for the search algorithm and how to verify the no-upload claim.