Compress Multiple Images at Once
This free bulk image compressor takes up to 50 JPG, PNG or WebP files in one go, compresses them all on your own machine with one setting, and hands them back as a zip. Nothing is uploaded and there is nothing to sign up for.
Drop your images here to compress them all
JPG, PNG or WebP, up to 25 MB. Up to 50 at a time, compressed in your browser, never uploaded.
Forty Photos.
One Decision.
Compressing images one at a time is not hard, it is just forty rounds of the same four clicks, and by the tenth you are picking a different quality than you did on the first. Drop the whole batch instead. You choose the setting once, the queue works through the files in order, and every result comes back with its own before and after so you can see which ones actually needed it.
Bulk compress to an exact size
Each one opens this same compressor with its target already set. They take a whole batch just like this page does, so the number is the only thing you skip choosing.
Tools that pair well with this one
All free, all in your browser, no signup.
How to compress multiple images at once
Three steps, no account, up to 50 files a run.
Select all your images
Drop a folder's worth onto the box, or use the picker and select as many as you need. They stay on your device.
Choose one setting
Pick a compression level, or type a target in KB that every file has to come in under. Set it once for the whole queue.
Run it and download the zip
Watch each file finish with its own before and after, then take the whole batch as one archive.
The whole point
A batch image compressor applies one setting to every file
This is the difference between a bulk tool and the same tool run twenty times. You make the decision once, and it is the same decision for every file, which is also why the results are consistent enough to publish next to each other.
- By level: One quality posture across the queue. Best when the files are similar and you care that the batch looks uniform, like a set of product shots or a gallery going onto one page.
- By file size: One ceiling in KB that every file has to come in under. Best when something downstream has a limit: an upload form, a CMS, an email attachment cap. Each image gets its own quality search to land under your number, so a small logo and a 12 megapixel photo both make it.
- By selection: Tick individual cards and the run touches only those. Tick none and it touches everything, which is what somebody who never noticed the checkboxes expects.
The size estimates on the level chips are measured on the first file in the queue and marked with a tilde for exactly that reason. A batch of mixed screenshots and portraits will not all shrink by the same proportion, and a tool that showed you one confident number for twenty different images would be making it up.
Bulk image compression to an exact size in KB
Switch to 'By file size', type the number, and every image in the queue comes back under it. This is the request behind most bulk compression: not 'make these smaller' but 'make these acceptable to a form that keeps rejecting them'.
The target is treated as a ceiling per file rather than an average across the batch. Twenty images at a 100 KB target means twenty files each under 100 KB, not two megabytes shared out. That distinction matters the moment the thing checking your files checks them one at a time, which is all of them.
Files already under your target are left alone rather than re-encoded to look busy. Re-compressing an 80 KB image against a 100 KB ceiling costs it quality and saves nothing, so the row reports it as already smaller and moves on.
When quality alone cannot get a particular file under your number, the dimensions come down too and that row says so. In a batch this is per file, so a folder of mixed sizes can come back with the big ones resized and the small ones untouched, and you can see which is which before you download anything.
Common targets, each on its own page
Bulk compress JPG, PNG and WebP in the same batch
You do not have to sort the folder first. Mix them, and each file comes back as the format it went in as.
- JPG and JPEG: The encoder's own quality setting does the work. This is the format lossy compression was designed for and where the savings across a batch are largest.
- PNG: No quality dial exists, so we cut the number of distinct colours instead, which is what PNG's compression feeds on. Transparency survives, including the partial transparency along antialiased edges.
- WebP: Lossy mode and an alpha channel at the same time, so it compresses hard and keeps its transparency.
Most free bulk compressors quietly turn the PNGs into JPGs, because that is the cheapest way to post a big percentage on the results screen. It works by discarding the alpha channel and painting white behind whatever was transparent, and you find out when the twelve logos you just processed all arrive in white boxes.
The honest trade: a batch of PNG photographs will not shrink as far as the same photographs saved as JPG. That is a format problem rather than a compression one. If converting is genuinely what you want, the converter does it on purpose rather than as a side effect.
Compressing images in bulk without losing quality you can see
'Without losing quality' is doing a lot of work in that sentence, so here is the version we can actually stand behind across twenty files at once.
Lossy compression always discards something. What the light settings discard is the part of a photograph nobody looks at: sensor noise in the shadows, imperceptible variation across a patch of sky, texture at a scale that disappears the moment the image is displayed at anything under full size. Most photos give up more than half their weight before there is anything visible to find.
In a batch, the risk is not that one file goes too far, it is that you do not notice which one did. So every finished row shows its own before and after and its own numbers, and you can open any of them full size before you download the zip. Check the two or three files you care most about rather than all twenty.
The batch to watch is a mixed one. Screenshots, line art and text-heavy images are where a lossy encoder shows its work first, because sharp edges are exactly what costs it bits. A setting that is invisible on portraits can be obvious on a screenshot in the same run.
Why a bulk photo compressor stops at 50 images
50 is where the queue stops being something you can scan, not where the engine stops coping. It is a readability limit rather than a technical one, and the reasoning is worth stating because most tools with a cap will not tell you which kind theirs is.
The files are compressed one after another rather than all at once, on purpose. Each one is decoded to a full bitmap first, and a 12 megapixel photo is roughly 48 MB of raw pixels before anything happens to it. Twenty-four of those in flight together is a browser tab that gets killed, with no warning and no error to explain it.
Sequential also makes the progress honest. '7 of 30' means something when one file is genuinely being worked on. Running eight at a time would make the per-card spinners decoration and would compete for the same processor core that draws the interface, which is how a batch tool ends up feeling frozen.
If you have more than 50, run it in rounds. The tool holds no state between runs and asks nothing of you at the start of one, so a second batch costs a drag and a click. Genuinely enormous jobs, thousands of files or RAW, are where desktop software still wins and we would rather say so.
A free bulk image compressor online, with nothing to install
Bulk features are usually where a free tool starts asking for something: an account, a daily quota, a watermark, a paid tier at ten files. This one does not, and the reason is structural rather than generous.
- Your device does the work: So 50 images cost us exactly what one image does, which is nothing. There is no per-run bill for us to pass on and therefore no quota to enforce.
- Nothing is uploaded: A batch of forty photos never leaves the machine it is on. That is a stronger promise than any privacy policy, including ours, because there is no server holding the files to make a promise about.
- No account, no watermark, no daily limit: Not on the first batch and not on the fiftieth. The download is never the thing we ask you to pay for.
The one real limit is per file rather than per batch: 25 MB each, plus a 50 megapixel ceiling, because past that a full-resolution decode can take a phone's tab down with nothing useful on screen. A file over the limit is refused with a reason instead of gambling with the rest of your queue.
Built for the folder, not the file.
Everything here is written for many images. One image is just the smallest batch there is.
Up to 50 images in one run
Drag a folder's worth in, or add more once the queue is open. Each file can be up to 25 MB, so full-resolution phone and camera photos are the normal case rather than the exception.
One setting for every file
Pick a compression level or type a target in KB once, and it applies to the whole queue. Tick a few cards and it applies to just those instead, which is how you give the screenshots a different treatment from the photos.
Download the batch as a zip
One button, one archive, original filenames intact. Or save individual results from the list if only three of the twelve were the point.
A bad file does not end the run
If one image is corrupt or in a format the browser cannot decode, that row is marked failed with a reason and the queue carries on. Nineteen good files are not punished for one bad one.
50 images, still nothing uploaded
The batch is processed by your own browser, one file after another. There is no server queue, no upload progress bar, and no copy of your photos anywhere for us to lose.
Works the same on a phone
Select multiple photos from the camera roll and compress them without opening a laptop. Slower than a desktop, because the work is real, but the same tool and the same result.
Frequently asked questions
How a batch runs, and where it stops.
Drop all of them onto the box above, or open the picker and select up to 50 files. They arrive as a queue of cards, you choose one compression level or one target in KB, and you press the button once for the whole batch.
You can keep adding files after the queue is open, and you can remove any you changed your mind about. Nothing runs until you tell it to.
Up to 50, at up to 25 MB each. Past 50 the list stops being something you can actually read, which is the limit we hit long before the browser does.
There is no cap on how many batches you run. Nothing is counted, nothing is stored between runs, and no batch costs us anything, so there is nothing for us to ration.
Yes. Switch to 'By file size' and type the number once. It is applied per file as a ceiling, so a batch at 100 KB gives you files that are each under 100 KB rather than an average.
Each file gets its own search for the highest quality that still fits, because a screenshot and a camera photo need very different settings to land on the same number. Anything already under the target is left as it is.
Both are there. The results screen has a single button that packs the whole batch into one zip with the original filenames, and every row also has its own download if you only wanted three of the twelve.
Yes, and you do not need to sort them first. Each file is compressed as the format it arrived in and comes back as that same format, so the PNGs keep their transparency and the JPEGs stay JPEGs.
Expect uneven results in a mixed batch, and that is the format talking rather than the tool. PNGs of photographs shrink far less than the same pictures as JPG, because a photograph in a lossless format is a photograph in the wrong format.
No, and this is the part bulk usually changes. Most batch compressors need your files on their servers to do the work, which is why they show you an upload bar. This one decodes and re-encodes every file in your own browser, so the batch never leaves your device and there is nothing to delete afterwards.
The practical proof: turn off your network after the page has loaded and the batch still runs.
That row is marked failed with a reason, and the rest of the queue keeps going. A corrupt file, a format the browser cannot decode, or an image past the pixel ceiling stops itself and nothing else.
You can remove it and re-run, or just download what worked. A batch where one bad file discards the other nineteen results is not a batch tool.
Free, and no. No signup, no watermark on any output, no daily limit, and no paid tier that unlocks more files or better quality. Every setting is available on every run.
That is possible because your own machine does the compressing. A hundred batches cost us exactly what zero do, so there is nothing to recover and nothing to gate.
Compress the whole folder now
Drop up to 50 images, pick one setting, take the zip. Nothing gets uploaded and nothing gets counted.



