UtilityKit

500+ fast, free tools. Most run in your browser only; Image & PDF tools upload files to the backend when you run them.

Bulk Image Batch

Resize, recompress, or reformat dozens of images and download as one ZIP

About Bulk Image Batch

When you need to process dozens of photos at once — shrinking a wedding album for email, converting a gallery to WebP for the web, or fitting a folder of screenshots inside a CMS upload limit — opening every file one by one is unworkable. This tool runs a single recipe across every image in your selection: resize to a maximum width and height, convert the format, change the quality, and rename with a prefix, all in a streaming pipeline that processes one image at a time without holding the entire batch in memory. The output is delivered as a ZIP via JSZip, ready to drag into any folder or upload target. Everything runs in your browser — there is no upload, no queue, no account, no per-image quota. Hundreds of files complete in under a minute on a modern laptop, and your originals are never modified.

Why use Bulk Image Batch

Streaming Pipeline — Hundreds of Files Without OOM

Each image is read, processed, and packed into the ZIP one at a time. Memory peaks at one image plus the growing ZIP, so a folder of 500 photos completes without crashing your tab the way batch tools that load everything at once do.

Resize and Reformat in One Pass

Most batch tools only do one job. This pipeline can resize down to a max bounding box and re-encode into WebP simultaneously, saving you a second tool and a second pass over the same files.

Browser-Only — No Upload, No Quota

All work happens locally via Canvas APIs and JSZip. Your photos never leave the device, there is no daily limit, no account requirement, and no watermark.

Accurate Aspect Ratio Preservation

The resize logic computes a single scale factor that fits the image inside the max width × max height bounding box. No squashing, no cropping — every output keeps its original aspect ratio.

Quality Slider for Lossy Formats

Pick any value from 1 to 100 and it is applied uniformly across the batch. Default 82 is the sweet spot — slightly above default browser canvas quality, well below visibly lossy compression.

ZIP Download — Drag-and-Drop Compatible

Output bundles into a single archive ready to upload to a CMS, drop into Google Drive, or extract into a folder. No multi-download dialog spam.

How to use Bulk Image Batch

  1. Pick the operation you want — resize only, convert only, or both at once.
  2. Set a max width and height in pixels; aspect ratio is preserved automatically.
  3. Choose the target format (JPG, PNG, or WebP) and a quality value if applicable.
  4. Add an optional filename prefix so the new files sort apart from the originals.
  5. Click Process and watch the progress bar fill as each image is encoded.
  6. When the bar hits 100%, your browser downloads a single ZIP containing every processed image.

When to use Bulk Image Batch

  • When prepping a wedding album of 200 high-res JPGs for client preview email under a 25 MB total cap.
  • When migrating a portfolio site to WebP for Core Web Vitals improvements and you have dozens of legacy JPGs.
  • When a CMS or marketplace caps individual uploads at 5 MB and your camera produced 12 MB originals.
  • When converting a folder of design exports to a uniform format before sharing with stakeholders.
  • When shrinking a screenshot library to thumbnails for documentation or design system Storybook.
  • When archiving a phone backup folder and you want WebP at 70% quality to halve the storage footprint.

Examples

Wedding album for email

Input: 200 JPGs at 12 MP each, 1.8 GB total

Output: Resized to 1920×1280 max, WebP quality 78 — 200 images packed into a 95 MB ZIP

Portfolio migration to WebP

Input: 60 PNG screenshots, 320 MB total

Output: Same dimensions, converted to WebP quality 85 — 60 images packed into a 38 MB ZIP

Marketplace upload prep

Input: 45 product JPGs at 4500 × 3000, 280 MB total

Output: Resized to 2000×2000 max, JPG quality 82, prefixed with "shop-" — 45 images packed into a 22 MB ZIP

Tips

  • Set max width and height to the bounding box you actually need — for web hero images, 1920×1080 is plenty.
  • WebP at quality 80 is a reliable sweet spot for photographs — typically 30% smaller than JPG with no visible quality loss.
  • Use the filename prefix (e.g. "web-") to separate processed files from originals when extracting the ZIP back into the same folder.
  • If a tab freezes on very large batches, split the selection into two passes of 200–300 images each.
  • PNG output is lossless — if you really need to keep transparency, choose PNG and skip the quality slider.

Frequently Asked Questions

Is there a limit on how many images I can process?
There is no hard cap. The streaming pipeline keeps memory low, but very large batches (1000+) may take several minutes and benefit from being split into two passes for tab responsiveness.
Do my originals get modified?
No. Originals are read once and never written back. The processed copies are packed into the downloaded ZIP under new filenames.
Why are my JPGs missing transparency after conversion?
JPG does not support transparency. If your sources were transparent PNGs and you converted to JPG, the alpha channel is dropped and the background becomes black by default. Choose PNG or WebP if you need transparency.
Can I keep the original resolution?
Yes — choose the convert-only operation, or set the max width/height to a value larger than your source dimensions. The resize logic only scales down, never up.
Does it strip EXIF data?
Yes, as a side effect of re-encoding through Canvas. GPS coordinates and camera metadata are removed from the output.
What happens if one image fails to process?
It is skipped silently and the rest continue. The progress bar reflects the current file, and the final ZIP contains every successfully processed image.
Is there a watermark?
No watermark, no logo, no upsell. The output is your images in their new format and dimensions.
Where are my images uploaded?
Nowhere. All processing runs in the browser via Canvas and JSZip. The selected files are read locally and the ZIP is built in memory before download.

Explore the category

Glossary

Bounding box
The maximum width × height an output image is allowed to occupy. The resize logic scales the image to fit inside this box while preserving the aspect ratio.
Streaming pipeline
A processing model where each input is read, processed, and written one at a time, rather than loading the entire batch into memory at once. Keeps memory usage flat regardless of batch size.
JSZip
An open-source JavaScript library that builds ZIP archives entirely in the browser. UtilityKit loads it from a CDN only when bulk image tools are opened.
Quality slider
A 1–100 value that controls how much information lossy formats (JPG, WebP) discard during encoding. Lower values produce smaller files with more compression artifacts; 80–85 is the typical web sweet spot.
Aspect ratio
The width-to-height ratio of an image (e.g. 16:9 or 4:3). Preserving the aspect ratio during resize prevents subjects from looking stretched or squashed.
Re-encoding
Decoding an image to raw pixels and then re-encoding to a target format with chosen settings. Re-encoding always strips metadata such as EXIF and ICC color profiles.