Image Compressor

Shrink JPEG, PNG and WebP images locally — in your browser.

No upload · No account · Your images never leave your device

Compression options

Detecting supported output formats…

75%

Lower quality = smaller files. JPEG around 70–85 is usually visually lossless.

Empty = keep original size (capped at 4096 px).

The aspect ratio is always preserved — images fit inside the box, never crop or stretch.

How the image compressor works

Drop in up to 30 JPEG, PNG or WebP images (25 MB each) and the browser itself decodes them, resizes them if you ask, and re-encodes them at the quality you pick. Batches run one file at a time with a per-file status for every image and an overall progress bar: you can skip the image currently being processed, cancel the whole run, or remove individual files from the queue at any point. Every result can be downloaded on its own, and from two images up a "Download all (.zip)" action bundles the successful outputs into a single archive — assembled in your browser's memory, never uploaded. Lossy formats (JPEG and WebP) get a 1–100 quality slider — around 70–85 is usually visually indistinguishable from the original at a fraction of the size. PNG is lossless, so the resize box is the way to shrink it. The aspect ratio is always preserved: your images fit inside the box you set, they are never cropped or stretched, and they are never enlarged beyond their original size.

Photos taken with a rotated camera are decoded upright: the browser's decoder applies the EXIF orientation flag while reading the pixels, so outputs come out the right way round. Be aware that re-encoding starts from the decoded pixels and does not copy image metadata — EXIF tags (including GPS data), colour profiles and comments are not carried over to the compressed file, which also makes outputs slightly more private than the originals.

Where the browser supports it, the heavy pixel work runs in a background Web Worker with an OffscreenCanvas, so the page stays responsive while a large photo is processed; on browsers without those APIs the same pipeline runs on the main thread with identical results. Output-format support is detected in your browser and shown explicitly — if your browser cannot encode WebP, for example, that option is marked as unavailable instead of failing silently.

Every image is processed entirely on this device: the page performs no upload, no network request and no cloud call, and nothing is stored beyond this page. The queue, result previews and the generated ZIP live only in your browser's memory — closing or reloading the tab removes them. Guardrails keep the tool stable: oversized files, unsupported types and queues beyond 30 files are rejected with a clear reason, archives are capped at 200 MB (above that you are asked to download files individually), and every result shows a before/after byte comparison so you can see exactly what you saved before downloading.