Bulk Image Compressor
Compress and resize many JPG or PNG images at once — set quality, max width/height and output format, then download every result as a ZIP. Free and private in your browser; also available as a paid API.
Input
Lower quality gives smaller files.
A JPEG with transparency (from a converted PNG) fills the gap with white.
Compressed images
Add several images and press Compress — everything runs in your browser.
More ways to use this tool
REST API
curl -X POST https://api.iotools.cloud/v1/tool/bulk-image-compressor \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"images": "[\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA…",
"quality": "60",
"maxWidth": "1920",
"maxHeight": "1920",
"outputFormat": "jpeg"
}'Swap in your own key from your account. The tool's fields are the body — no wrapper.
Ask an AI agent
Use the IOTools `bulk-image-compressor` tool (Bulk Image Compressor) on this input:
YOUR_INPUT_HEREPaste this at any agent connected to the IOTools MCP server, then add your input.
| Cost per API/MCP call | From 5 credits |
|---|---|
| Need more credits? | View pricing |
Also available with
Guides
Compress many JPG or PNG images in one pass instead of one at a time. Drop in a batch of photos, set a quality level and an optional max width/height, and download every compressed result together as a single ZIP — or as one file directly when you only added a single image.
How to use it
- Drop or select several JPG/PNG images (up to 20 at once).
- Set the quality slider — lower values give smaller files. It only affects JPEG output; PNG stays lossless.
- Optionally set a max width and/or max height in pixels. Every image that's larger is downscaled to fit (images are never upscaled); leave either blank for no limit.
- Pick an output format — keep each file as its source type, or force everything to JPEG or PNG.
- Press Compress. Each result gets its own row with a before/after size comparison, plus a Download all as .zip button.
Privacy
Compression runs entirely in your browser using the Canvas API — your images are never uploaded anywhere. A paid developer API is also available for server-side batch compression (see the API tab on this page), which processes images on our servers instead.
Why is my batch capped at 20 images?
It keeps the browser tab responsive — each image is decoded and redrawn to a canvas one at a time so memory use stays bounded. For larger batches, run the tool multiple times, or use the Image Compressor for one-off single-file compression with an extra JPEG-background option.
What if I only need to compress one image?
Use the Image Compressor instead — the same canvas-based compression with a background-color setting for flattening transparent PNGs exported as JPEG.
Does this support WebP?
Not currently. The paid API path re-encodes with a library that can't produce WebP, and this tool keeps its free and paid results on the same JPG/PNG contract. To convert to WebP, use the Image Converter.