Image Compressor
Drop photos, get smaller files.
- 100% freeNo account, no daily quota, no paid tier.
- Nothing is uploadedFiles are processed on your device and never reach a server.
- No catch on the outputNo watermark, no forced downscaling, no size cap.
- Updated in the openEvery fix and every new tool is written down on the changelog page.
What this image compressor does
Drop one image or a hundred and each one is re-encoded on your device at the quality you choose. The list shows the original size, the new size and the percentage saved, so you can move the slider until the trade-off looks right. Download files one at a time or grab everything as a ZIP. Because the encoder is your own browser, there is no upload queue, no daily quota, no watermark and no 'sign up to download' step — and a 40 MB camera RAW export compresses just as easily as a screenshot.
Compression here means two things. Lossy quality reduces the amount of detail kept in JPEG, WebP or AVIF output; 80% is invisible for most photos and typically cuts a phone photo by 60–80%. The optional 'longest side' box also downscales oversized images: a 4000-pixel photo that will be shown at 1200 pixels wide is wasting three quarters of its bytes on pixels nobody sees. Combine both and a 6 MB photo becomes a 300 KB web image with no visible change.
PNG files take a different route: the quality slider picks a palette size instead of an encoding level — 80% keeps 256 colours, 60% keeps 128, and 100% keeps every colour and compresses losslessly. That is where the −50–80% on screenshots and flat-colour graphics comes from. Photographs stored as PNG are usually better off as JPEG or WebP.
How to use it
Drop images into the dashed box, click it to browse, or paste from the clipboard. The first image appears on the canvas at 1:1 pixels, the original on the left and the compressed version on the right; drag the line to compare, drag the picture to look at another part, or switch to Fit to see the whole frame. Move the quality slider and the right half re-encodes in a moment, with the resulting file size under the canvas — so you can find the lowest quality that still looks right before pressing Compress. 'Auto' keeps each file's format (JPEG stays JPEG, PNG stays PNG); WebP gives the smallest files every modern browser can show. Click any row in the list to preview that image.
Your settings are remembered on this device, so next week the tool opens with the same quality and size limit. When you are done, the 'Continue with' buttons hand the compressed results directly to the format converter or the resizer without re-selecting the files. If you need a different balance for one picture, remove it from the list, change the setting, and add it again.
Common pitfalls
PNG compression works by reducing the image to a 256-colour palette with dithering — the same technique TinyPNG and pngquant use — which is invisible on screenshots, icons and flat graphics but can show faint banding on photos with smooth gradients. If a PNG is a photo, the right answer is JPEG or WebP (usually 70–90% smaller); tick 'Lossless PNG' when every colour must be preserved, and expect only 5–20% savings from filter and deflate optimisation in that case.
Quality below 50% shows blocking around text and sharp edges, and compressing an already-compressed JPEG again always loses a little more; keep an original if you might need it. Converting a transparent PNG to JPEG fills the transparent area with white, because JPEG has no alpha channel. GIF animations are flattened to their first frame. Finally, the browser strips EXIF metadata (camera model, GPS location) on re-encode — a privacy bonus for sharing, but note it if you rely on embedded orientation or copyright tags.
Background: how lossy image compression works
JPEG, standardised in 1992, splits an image into 8×8 pixel blocks, converts each to frequency coefficients with a discrete cosine transform and then quantises them: high-frequency detail the eye barely notices is rounded away, and the quality setting controls how aggressive that rounding is. WebP, released by Google in 2010, borrows prediction techniques from the VP8 video codec and produces files around 25–35% smaller than JPEG at equal visual quality, with support for transparency and animation. AVIF, based on the AV1 video codec, goes further still but encodes slowly and is not yet writable by every browser.
The encoders here are not the crude ones built into the browser's canvas — those write bloated PNGs and unoptimised JPEGs — but the same libraries behind Google's Squoosh, compiled to WebAssembly and loaded on demand: MozJPEG (progressive, trellis-optimised Huffman tables), libwebp, libavif, OxiPNG for lossless PNG optimisation, and a palette quantiser with dithering for lossy PNG. They run in a background thread, so the page stays responsive during a large batch, and the files still never leave your machine — the page works offline once loaded. If a result would be larger than the original, the original is kept unchanged.
Where compressed images are used
Website images are the biggest reason people compress: page weight drives Core Web Vitals, and Google's Largest Contentful Paint metric often comes down to one oversized hero photo. E-commerce listings, WordPress media libraries, email newsletters (where attachments over a few hundred kilobytes get clipped), forum and job-application uploads with hard size limits, app store screenshots, and messaging apps that would otherwise recompress badly all benefit. Photographers shrink previews before sending galleries; teachers compress slide images so the deck emails cleanly; developers compress assets before committing them to a repository.
For a typical workflow, compress first, then convert to WebP for the web, then resize to the exact display width. Screenshots that contain a QR code from the QR generator should stay PNG so the modules remain crisp, and if an image needs to be embedded inline as a data URL, run it through the Base64 encoder after compressing. Photos of receipts or documents can be compressed here and turned into a single file with image to PDF. iPhone HEIC photos are accepted here directly; to get plain JPGs first, use HEIC to JPG.
Frequently asked questions
Are my images uploaded to a server?
No. Decoding, scaling and encoding happen inside your browser using the canvas API. You can turn off Wi-Fi after the page loads and it still works.
What quality should I choose?
80% is a safe default for photos: usually 60–80% smaller with no visible change. Go to 60–70% for thumbnails and previews, 90% for print-bound or archival copies.
How is PNG compressed?
By default the image is quantised to an optimised 256-colour palette with dithering (like TinyPNG), then the PNG is re-filtered and re-deflated with OxiPNG — typically 50–80% smaller. Tick 'Lossless PNG' to keep every colour exactly; then only the lossless optimisation runs.
Is there a file size or count limit?
No fixed limit. Memory is the only constraint — a few hundred phone photos at once is fine on a laptop; very large batches are easier in groups.
Does it keep EXIF data such as GPS location?
No. Re-encoding through the canvas discards EXIF, ICC profile and other metadata. Colours are converted to sRGB first, so the picture still looks the same.