Bulk Image Compressor
Compress many images at once, entirely on your device. Pick a quality and download them all.
Runs in your browser — files never leave your device
How it works
This tool compresses a whole folder’s worth of images without a single upload. Set the quality slider (10–100% in 5% steps, default 70%), drop your files, and each one is processed in order inside a Web Worker — a background thread that keeps the page responsive while it churns. As each file finishes, a table row appears with its before and after sizes and a per-file download link.
Compression runs on the browser-image-compression library with three constraints: your chosen quality as the starting point, a 4096-pixel cap on the longest side, and a 10 MB output ceiling. An oversized image is downscaled first — 6000 × 3000 becomes 4096 × 2048 — then encoded; if the result is still over the ceiling, or somehow larger than the input, it re-encodes at stepwise lower quality for up to ten attempts. Files keep their original format throughout: JPGs stay JPGs, PNGs stay PNGs, WebPs stay WebPs.
Results on phone photos are typically substantial — a 4 MB, 4000 × 3000 JPG at the default 70% quality commonly lands in the 1–2 MB range with little visible difference at screen sizes. PNGs behave differently: the format is lossless and ignores the quality setting, so screenshots shrink only if they exceed the 4096px cap. Photos stored as PNG are better converted to JPG or WebP first.
Nothing leaves your device — files are read locally, compressed locally, and downloaded from memory, which makes the tool suitable for client shoots, scanned documents, and anything else you wouldn’t hand to an unknown server. Three practical notes: set the slider before dropping (quality is captured at drop time), files that fail to decode — HEIC outside Safari, for instance — are skipped silently, and downloads are per-file rather than a single ZIP, each named after the original with a compressed- prefix. EXIF metadata, including GPS location, is stripped from every output.
Frequently asked questions
- What do the compression settings actually do?
- The slider sets the initial encoding quality (default 70%). Each image is also capped at 4096 pixels on its longest side — a 6000 × 3000 panorama is scaled down to 4096 × 2048 — and targeted at a maximum of 10 MB. If the first pass is still too large, or larger than the original, the compressor retries at progressively lower quality for up to ten passes.
- Why did my PNG barely shrink, or even get bigger?
- PNG is a lossless format and its canvas encoder ignores the quality setting, so the slider mostly affects JPG and WebP files. A PNG only shrinks meaningfully here if it exceeds the 4096px cap and gets downscaled — and an already-optimized PNG can even come out slightly larger. For photos stored as PNG, converting to JPG or WebP saves far more than recompressing.
- Does the output format or filename change?
- No format change: a JPG stays a JPG, a PNG stays a PNG, a WebP stays a WebP. Each download keeps its original name with a compressed- prefix, so matching outputs to sources in a big batch stays easy.
- How many images can I drop at once?
- There’s no built-in limit. Files are processed one at a time — in a Web Worker, so the page stays responsive — which keeps memory use bounded even for large batches. The trade-off is that dozens of large photos take a while, and the tab must stay open until the run finishes; new drops are appended below earlier results.
- Does compression keep EXIF data and orientation?
- EXIF metadata is stripped: the output is a re-encoded file without camera details, capture date, or GPS coordinates. Orientation is resolved before encoding, so photos come out facing the right way rather than sideways. If you need the metadata, keep your originals.
- A file I dropped never showed up in the table — why?
- Files the compressor can’t process are skipped silently rather than aborting the whole batch. The usual causes are formats the browser can’t decode (HEIC from iPhones fails outside Safari), corrupted files, and non-images that slipped into the selection. Convert those files individually first, then re-drop them.
- Are my photos uploaded for compression?
- No. Every image is decoded, resized, and re-encoded on your own device inside a Web Worker — there’s no upload queue, no server processing, and no stored copies. That’s also why big batches start instantly: nothing travels over the network, no matter how many hundreds of megabytes you drop.
Related tools
- Image ResizerResize images to exact dimensions or by percentage, with optional aspect-ratio lock. Runs entirely in your browser — images never leave your device.
- Image CompressorShrink JPG, PNG and WebP file sizes in your browser without uploading. Adjust quality and download instantly.
- Image Converter (PNG / JPG / WebP / AVIF)Convert images between PNG, JPG, WebP and AVIF locally — no upload, no quality sent to a server.
- Image CropperCrop images to a custom selection or aspect ratio in your browser. Download the cropped result.
- Image Rotator & FlipperRotate or flip images by 90° increments locally and download the result instantly.
- Image to Base64Convert an image to a Base64 data URL in your browser — handy for embedding in CSS or HTML.