Compress Many Images to a Maximum File Size
Bulk compressPick a maximum size in KB, drop a batch of JPEG, PNG or WebP photos, and each one is compressed to fit on its own. Nothing is uploaded.
JPEG, PNG, WebP · up to 20 MB · 20 files max
Add images to turn this on.
- Processed on your device
- No image upload
- No account
- No watermark
Bulk compressing a batch of photos means giving every file the same maximum size in kilobytes and letting each one reach it on its own terms, because a plain screenshot and a detailed photograph do not need the same quality drop to hit the same number. On Resizo you drop up to twenty JPEG, PNG or WebP files, pick a limit from 50 KB to 1 MB or type your own, and press Compress — each file is measured and, if it cannot get under the limit by quality alone, either reported honestly or shrunk in pixels too, depending on the mode you choose. Every encode runs on your own device, inside this browser tab, using a compressor the page hands to your own browser, so the batch never leaves your machine, and the results download one at a time or together as a ZIP.
What this tool changes
- Pixels
- Decoded and written again
- EXIF
- Removed
- GPS
- Removed
- XMP
- Removed
- ICC profile
- Removed
- DPI record
- Removed — the new file claims no print size
- Transparency
- Kept
Each file gets its own target and comes back in the format it arrived in — a JPEG stays a JPEG, a PNG a PNG, a WebP a WebP — so transparency is kept where the format keeps it. A file already under the limit is not re-encoded: its pixels and its DPI record are kept as they are and only its metadata is removed, because a re-encode could only make it larger or worse. Nothing else about a re-encoded file survives the encode.
Every image gets its own target
A single maximum size in KB applies to every file in the batch, but the work behind it is separate for each one. A flat product photo might barely need a quality drop to fit; a busy landscape at the same pixel size can need to go much further — Resizo runs the search per file rather than picking one setting for the whole batch.
The row for each file shows the limit it was measured against and whether it landed under it, so a batch of twenty never hides the one file that struggled.
A file that is already at or under the limit is not re-encoded at all — it comes back at its own size with only its metadata removed, because running it through the encoder again could only make it larger or worse, never smaller.
Preserve dimensions or fit under the limit
Preserve dimensions never touches a pixel — it only turns quality down, and a file that still cannot fit at its full size is reported as such rather than shrunk behind your back. Fit under limit tries quality first and, if that alone is not enough, reduces the picture itself a step at a time, in the same shape, until it fits or hits the smallest size Resizo allows.
Neither mode ever converts a file to a different format to hit the number — only the two levers named above are ever used.
PNG is not JPEG
JPEG and WebP both have a quality dial, so Preserve dimensions can usually find a setting under most limits. PNG is lossless — it stores every pixel exactly and has no quality to trade away — so under Preserve dimensions a PNG either already fits or it does not, with nothing in between for the tool to adjust.
Fit under limit is the only mode that can still help a PNG: shrinking the picture is the one lever a lossless format leaves.
Transparency stays where the format keeps it
Every file keeps the format it arrived in — a JPEG stays a JPEG, a PNG stays a PNG, a WebP stays a WebP — because converting formats to chase a size was never asked for. A PNG or WebP with transparent pixels keeps them; a JPEG, which cannot represent transparency at all, is unaffected either way.
Why a very small target fails
A 4000×3000 photo asked to fit under 20 KB is not a quality problem — it is a pixel-count problem, and no amount of turning the quality dial down reaches a target that small at that size. Preserve dimensions reports this plainly rather than handing back a file that is technically under the limit but reduced to an unusable smear of blocks.
Fit under limit is built for exactly this case: it lowers quality to a sensible floor first, then reduces the picture’s dimensions until the number is reachable, and says in the result that it did.
Everything happens in your browser
Every file in the batch is decoded, measured and re-encoded by code this page hands to your own browser, so nothing is uploaded and there is no copy of it sitting anywhere else for this to work. The ZIP, when you ask for one, is also built on your device from the files already sitting in its memory.
How many at once
Up to 20 images or 80 MB total, whichever is reached first, can go into one batch. A folder works the same way as a multi-file pick, and Resizo counts what it found before adding anything, so you are told the moment it can hold no more rather than after the fact.
One batch, measured
Real files from a measured run, each held to the same limit and reaching it on its own terms.
| File | Before | After | Reduction |
|---|---|---|---|
| photo-1600x1067.jpg | 384.2 KB | 195.36 KB | −49% |
| screenshot-1440x900.png | 24 KB | 24 KB | Kept — already under the limit |
| graphic-800x800.png | 51.66 KB | 51.66 KB | Kept — already under the limit |
| illustration-1200x900.png | 25.01 KB | 25.01 KB | Kept — already under the limit |
| all four samples | 484.86 KB | 296.02 KB | −39% |
| 5 × 640×480 JPEG, ~86 KB each | 428.14 KB | 242.63 KB | −43% |
| 20 × 640×480 JPEG, ~86 KB each | 1.68 MB | 976.8 KB | −43% |


How to compress a batch of images
- Choose your images. Drop up to 20 JPEG, PNG or WebP files onto the panel, or press Choose images. A whole folder works the same way, wherever the browser allows picking one.
- Set one maximum size. Pick a preset chip from 50 KB to 1 MB, or type a custom limit in kilobytes. Every file in the batch is measured against this same number.
- Choose what happens if a file can’t get there. Preserve dimensions keeps every pixel and only lowers quality, reporting a file that still cannot fit; Fit under limit lowers quality first, then shrinks the picture itself.
- Press Compress and download. Watch each file settle as it finishes, then download results one at a time or together as a ZIP — a file that missed the limit says why, right beside the ones that made it.
Frequently asked questions
Is a kilobyte here 1,000 bytes or 1,024?
1,024 bytes, the same convention every size on this site uses. A file reported here as under 200 KB is under 204,800 bytes — not 200,000, which is what some operating systems mean by the same two letters.
Why does a PNG sometimes ignore a small limit?
PNG has no quality dial — it stores every pixel exactly, so Preserve dimensions can only report that a small ceiling is out of reach. Switch to Fit under limit and the picture itself is shrunk a step at a time until it fits, which is the only lever a lossless format leaves.
Does a transparent PNG stay transparent?
Yes. Each file keeps the format it arrived in — a JPEG stays a JPEG, a PNG stays a PNG, a WebP stays a WebP — so a PNG’s transparency is never flattened away, and a JPEG, which never had any, does not gain any either.
What happens to a file that never gets under the limit?
It is reported, never guessed at: its row says it could not meet the target and why, and its bytes are left out of the batch’s Saved and Reduction numbers. Nothing is downloaded for a file that missed the number you set.
What happens to a file that is already under the limit?
It is kept exactly as it is rather than run through the encoder again — only its metadata is stripped. Compressing a file a second time when it already meets the target could only add generation loss or grow it, so Resizo leaves the pixels alone and marks it a success.
Can I add a HEIC photo to a batch?
Not in this tool. HEIC needs its own decoder, which lives on the dedicated HEIC converter at /heic — convert there to a JPEG or PNG first, then bring the result back here for the batch.
What to do next
- Change image dimensions with pixel-perfect precision. Resize Image
- Reduce file size without visible quality loss. Compress Image
- Convert between JPEG, PNG and WebP instantly. Convert Format
- Remove unwanted areas with exact pixel control. Crop Image
- Convert iPhone HEIC photos to universal JPEG. Convert HEIC
- Crop, size and compress a scanned signature for an online form. Signature Resizer
- Crop and size a passport or ID photo to exact pixels, file size, format and DPI. Passport & ID Photo
- Set the print resolution a JPEG or PNG claims, without re-encoding it. Change Image DPI
- Strip EXIF, GPS and XMP from a photo without touching its pixels. Remove Image Metadata
- Combine photos into one PDF, in the order you choose. JPG to PDF
- Combine several PDFs into one file, in the order you choose. Merge PDF
You are on the Bulk Image Compressor tool.