My Tool Studio
Bulk Operations·5 min read

Batch Compressing a Photo Library Without Regrets

An event gallery lands in your downloads folder: 214 photos, 912 MB, and a client who wants them by tonight. Nobody compresses those one at a time. Batch compressing a photo library is a planning problem more than a compression problem, because one recipe has to fit every file in the queue, and you only find out how well it fit after the ZIP arrives. This guide covers picking that recipe, proving it on a sample, and checking the result before anyone else sees it.

−89%−70%−81%−86%−69%−80%Saved across your images−71%

Why a batch is its own job

One decision, two hundred consequences.

Compressing a single image is interactive: you nudge the quality, look at the result, nudge again. A batch removes that feedback loop. Whatever export format, quality preset, target size and resize limit you choose gets applied to the sharpest portrait and the noisiest dance-floor shot alike, with no chance to step in per file.

That is why the workflow matters more than the codec. The galleries that go wrong are not ruined by WebP or by an aggressive preset. They are ruined by nobody checking a sample first, or by a target chosen for the average file that flattens the outliers. Treat the batch as one decision you must get right once, then verify.

One recipe for a folder of mixed formats

Your folder is messier than you think.

The Bulk Image Compressor compresses JPG, PNG, WebP and AVIF, and also takes HEIC, TIFF and BMP files, up to 50 MB each. You can drag a whole folder onto the dropzone or use Choose folder, and anything inside that is not an image is skipped. Real photo dumps still mix camera JPGs, phone exports and a few PNG screenshots someone dropped in, so decide up front whether the output should be normalized. Leaving Export format on Keep original keeps each file's type, which is safest when other systems expect specific extensions.

Switching everything to WebP is usually the smarter choice for web delivery: the PNGs shrink a lot and the JPGs still gain. The tradeoff is that one recipe cannot special-case the screenshot with fine text. If two or three files need gentler treatment, pull them out and run them as their own small batch on the High preset.

Set the target per file, and resize in the same pass

Pixels first, then bytes.

The target size applies to each file, not the whole batch. A 1 MB target means every photo aims to land at or under 1 MB. If the first encode is still too big, quality and pixel size are lowered a little at a time until the file fits. Files that already sit under the target barely change, which is correct behaviour.

The Resize in the same pass row matters more than the quality preset for most web galleries. Pick a longest side from 800 to 2560 px and a 6000 px camera frame is scaled down before compression starts, which removes more weight than any quality setting can. Smaller images are never enlarged, and Keep size still caps the longest side at 4096 px.

A worked run: 214 photos through one recipe

Settings, run, summary.

Settings: export format WebP, Medium quality, target 1 MB per file, longest side 1920 px. Input: IMG_2048.jpg at 5.8 MB and 6000 by 4000 px gives compressed-IMG_2048.webp at 1920 by 1280 px, under the 1 MB target. Click Compress and the queue works through the files one at a time.

When the run finishes, a summary line reports the file count, the total size before and after, and the percentage saved, so you do not have to add anything up. Download all (ZIP) saves compressed-images.zip. Two details deserve attention before you celebrate: print-bound files should never go through this pipeline, and the default compressed- prefix on every name means extracting the ZIP next to the originals overwrites nothing.

Before and after checks that keep the batch honest

Audit three files, trust the rest.

Every row in the queue shows its size before and after, so you do not need to open 214 thumbnails. Check a deliberate sample instead: the largest file, the smallest, and one mid-pack portrait with skin tones. If the biggest file landed near your target and still looks clean at full zoom, the recipe held under the most pressure it will face.

The smallest file tells a different story. A 400 KB image with a 1 MB target barely changes, and chasing savings there by cutting quality across the batch only hurts the files that were fine. Watch for rows that got larger, too. Exporting photos to PNG can do that, because PNG is lossless.

Mistakes that quietly spoil a bulk compression run

Most batch disasters trace back to one of these:

  • Compressing the only copy. The ZIP is a new set of files, but people still delete originals before checking a single output at full size.
  • Choosing a target size for the average file. It applies per file, so set it with your largest files in mind; small ones pass under the bar untouched.
  • Leaving the resize row on Keep size for a web gallery, then fighting the quality preset for savings a smaller longest side would have given for free.
  • Picking PNG as the export format for photos and ending up with bigger files than you started with.
  • Backgrounding the tab on a huge queue and wondering why progress crawled. Browsers throttle inactive tabs, so let the run finish in the foreground.
  • Running one enormous queue when two smaller runs would keep memory comfortable. Results stay in the browser until you download the ZIP.

Habits that make big compression batches boring

Boring is the goal.

First, sample before scale: drop one representative photo, compress it, and inspect the result at full size. A batch is just that sample times two hundred, so thirty seconds of testing covers the whole run. Second, write the recipe down, even on a sticky note reading WebP, Medium, 1 MB, 1920 px, so next month's gallery gets identical treatment.

Third, extract the ZIP into a fresh folder and sort by size, largest first. Any file that is still suspiciously large jumps to the top, and you can rerun just those few with a tighter target instead of repeating the entire batch.

Bulk Image Compressor next to its neighbours

Same family, different first moves.

The Bulk Image Compressor and the Image Compressor share the same engine, and both accept several files. This page adds the resize option, name patterns and the batch summary; the Image Compressor is the simpler page for one or two attachments. If you need exact dimensions, square canvases or crops, start with the Bulk Image Resizer. When the goal is a format migration with no size target, or the folder holds HEIC photos, the Bulk Image Converter is the more direct tool. To use your own naming scheme, change the File names pattern before you run, or use the Bulk File Renamer afterwards.

Try it now

Open Bulk Image Compressor

The tool is one click away. No sign up, no upload, no payment.

Open Bulk Image Compressor