Pixhush 100% in your browser · nothing uploaded
← All tools

🗜️ Compress images online - privately

Shrink JPG, PNG, WebP and AVIF with real codecs, right in your browser. Pick quality, optionally resize, download. No upload, no limits.

How to compress & resize

  1. Drop your images (or click to choose).
  2. Pick a format and quality, optionally set a max width.
  3. Click Compress and download each result.

What the compressor actually does to your file

When you drop a JPG, PNG, WebP or AVIF on this page, the browser decodes it into raw pixels and hands those pixels to a Web Worker. The worker runs real encoders compiled to WebAssembly (the jSquash builds of libavif, libwebp, mozjpeg and a PNG encoder), so the output is the same quality you would get from a desktop tool, not a quick canvas export. Because the work happens in a worker, the page stays responsive while a batch runs, and nothing is sent to a server at any point.

The decode step uses the browser itself, which means anything your browser can open will work as input, including GIF and BMP. An animated GIF is reduced to its first frame. HEIC is the one common photo format that most browsers cannot decode; convert it first on the HEIC to JPG page and then compress the result.

The three controls and what they change

Format decides the codec. AVIF gives the smallest files and is encoded at effort level 4, a middle setting that keeps a batch of phone photos from taking minutes. WebP is the default because it is nearly as small and opens in every current browser. JPEG is the safe choice when the file has to open in old software or be pasted into a document. PNG is lossless, so the quality slider has no effect on it; you pick PNG when the pixels must stay exactly as they are.

Quality runs from 20 to 95 and starts at 65. It is passed straight to the encoder, so 65 in AVIF and 65 in JPEG do not mean the same thing; AVIF at 65 usually looks cleaner than JPEG at 80. Max width is optional. If you type a number smaller than the image width, the picture is downscaled with a proper resampling filter before encoding, keeping the aspect ratio. Larger values are ignored, so the tool never upscales.

A worked example

Take a 4032x3024 iPhone photo saved as JPG at 2.8 MB. Left at full size and re-encoded as WebP at quality 65, it typically lands around 450 to 700 KB. The same photo as AVIF at 65 often comes in at 250 to 400 KB. Set max width to 1600 and the WebP drops to roughly 120 to 200 KB, which is plenty for a blog post or a listing photo. These are typical figures, not guarantees; a picture with a lot of fine texture, such as foliage or fabric, compresses worse than a portrait against a plain wall.

The card for each file shows the new size, the percentage saved and the output width, and the line at the bottom totals the whole batch. If a result is larger than the original, which can happen when you convert an already small WebP to PNG, simply pick another format and run again.

What you lose and when to keep the original

Everything except pixels is dropped. EXIF data, GPS coordinates, colour profiles and XMP tags are not carried into the output, because the encoder only ever sees the pixel array. For most sharing that is a benefit; for archiving it is a reason to keep the original file. Transparency survives in PNG, WebP and AVIF output but not in JPEG, which has no alpha channel.

Lossy compression is cumulative. Compressing a JPG that was already compressed at quality 60 adds a second round of artefacts, so start from the largest version you have. Do not compress files you plan to print or edit further; compress the copy you are about to publish. Very large images, say a 50 megapixel scan, need several hundred megabytes of memory to decode, and on a phone the browser may refuse; a laptop handles them fine.

For a longer discussion of which format to pick, see WebP vs AVIF vs JPEG, and if you only need a different container without size savings, the dedicated PNG to WebP converter does that with the same engine.

FAQ

Are my images uploaded to a server?

No. Every operation runs entirely inside your browser using WebAssembly and on-device models. Your files never leave your device and are never sent anywhere. You can even disconnect from the internet after the page loads.

Which format gives the smallest file?

AVIF is usually 30-80% smaller than JPEG at the same visual quality, followed by WebP. Use JPEG or PNG only when you need maximum compatibility.

Is there a file-size or batch limit?

No. Because everything runs locally, you can compress as many images as your device can handle, with no size cap.

More image tools