Batch · browser encoder only
Bulk Image Compressor
Shrink a whole folder of photos in one go, with the real before-and-after size on every row. The encoder runs in your tab, so nothing is uploaded.
Drop your images here, or click to choose
Folder drops are flattened. Anything that is not an image is skipped and counted.
Up to 50 files and 200 MB per batch
Processed in your browser — nothing is uploaded.
Batch settings
WebP is the smallest for the same quality. PNG is lossless, so it may not shrink at all.
Downloads are written straight from your browser's memory. Nothing is stored anywhere.
Most batch compressors are an upload queue with a progress bar. This one is the browser's own JPEG and WebP encoder pointed at a list of files, which is why fifty photos finish in the time an upload would still be negotiating. Every row prints the byte count that went in, the byte count that came out and the percentage between them, measured from the exact blob the download button writes — so the saving you read is the saving you get, not an estimate. When a re-encode comes out larger than the original, the row says so in amber instead of hiding it.
40 hero images that put a page over four seconds
A small WordPress site has 40 hero images averaging 2.4 MB, about 96 MB in the media library, and a mobile page that takes just over four seconds to finish painting. Re-encoding the set to WebP at quality 78 typically lands them between 90 KB and 260 KB each, roughly 6 MB for the whole set. The two PNG screenshots in the folder are the interesting case: PNG is lossless, so asking for PNG output re-encodes them at almost the same size, while asking for WebP takes them from 1.1 MB to about 70 KB with no visible change on a screenshot of flat UI colours.
How bulk image compressor works
Add the folder
Drop up to 50 images. Mixed formats are fine — JPEG, PNG, WebP, GIF and BMP all decode.
Choose format and quality
JPEG for photos, WebP for the smallest files, PNG when transparency matters. Quality only applies to the two lossy formats.
Watch the real numbers
Each finished row shows original size, new size and the percentage change, taken from the actual output bytes.
Download the set
Grab individual files or the whole batch as a ZIP.
Limits, stated plainly
- 50 files and 200 MB per batch, the same browser-memory ceiling every tool in this section uses.
- This page uses the browser encoder only. The single-image compressor can also route through a server-side MozJPEG pass, which squeezes a few more percent out of a JPEG — but that means uploading, and a 40-file batch would be 40 uploads.
- Compression is lossy at any quality below 100 for JPEG and WebP. Recompressing an already-compressed JPEG loses a little more each time.
- PNG output is lossless, so a PNG in, PNG out pass often produces a file of a similar size or slightly larger. The row will show that honestly.
- AVIF is not offered: browsers do not reliably encode it from a canvas, and silently handing you a WebP labelled AVIF would be a lie.
Every file in this batch is decoded, processed and re-encoded inside your browser tab. No image data is sent to a server, there is no queue, and there is no account. The ceilings above (50 files, 200 MB) exist because your device holds every decoded image in memory while it works.
What this tool will not do
- It will not resize. Dimensions are untouched — a 4000 px photo stays 4000 px wide, just lighter. Run the bulk resizer first if the pixels are the problem.
- It will not hit a target file size. There is no "make everything under 200 KB" mode; you set the quality and read the result.
- It will not keep transparency in a JPEG. Pick PNG or WebP if any file has an alpha channel — JPEG output flattens it onto white.
Bulk Image Compressor — questions people actually ask
Why is one of my files bigger after compressing?
Because it was already efficiently encoded, and a second pass added its own overhead. This most often happens with small PNGs and with JPEGs saved at a lower quality than the one you picked. The row flags that case in amber with the exact percentage, so you can drop the quality or leave that file as it was.
What quality should I use?
For photographs on the web, 75-85 is the range where almost nobody sees the difference at normal viewing size. Below 60 you start seeing blocks in skies and gradients. For images with text or sharp UI edges, use WebP rather than a low JPEG quality — JPEG artefacts cluster exactly on hard edges.
Is this the same engine as the single-image compressor?
It is the same browser encoder, but the single-image page can additionally try a server-side Sharp and MozJPEG pass for a slightly smaller JPEG. The batch page deliberately never does that: it would mean uploading every file, and the promise on this page is that nothing leaves your browser.
Can I compress PNG screenshots without losing quality?
Choose PNG and the pixels are preserved exactly, but the saving will usually be small. If the screenshot is flat UI colour rather than a photograph, WebP at quality 80 is normally 90 per cent smaller and looks identical at 100 per cent zoom.
How do I know the size shown is the file I actually get?
The size is measured from the finished blob after encoding, and the download link points at that same blob. There is no second, different encode behind the download button.
Other batch tools
Bulk Image Resizer
Drop a folder of photos, set one rule, and every file comes back at the new size. Nothing is uploaded — the resizing happens on your own machine.
OpenBulk Image Converter
Point a mixed folder at one target format. PNG, JPG, WebP, GIF, BMP and iPhone HEIC files all go in; PNG, JPG or WebP comes out.
OpenBulk Grayscale Converter
Convert a whole set of images to black and white with a single, predictable formula — and keep the transparency if you output PNG.
Open