BATCH · WORKFLOW

Batch Image Compression:
How to Compress Multiple Images at Once

By ImgMin Team · April 23, 2026 · 7 min read

NEWImgMin for Chrome — right-click any image to compress, no upload.Add to Chrome →

Compressing images one at a time is a productivity trap. Whether you're a photographer culling 200 shots from a shoot, a developer preparing assets for a web project, or an e-commerce manager uploading new products, compressing one image at a time wastes hours every week.

This guide covers: browser-based batch compression (no install), desktop apps, Mac-native methods, command-line tools, and automated pipelines — so you can pick the right approach for your workflow.

Quick Comparison: Batch Compression Methods

MethodMax ImagesSetup RequiredPrivacyBest For
ImgMin (browser)10 at onceNone✓ Local onlyQuick batches, sensitive images
Mac PreviewUnlimitedNone (built-in)✓ Local onlyMac users, occasional use
ImageMagick (CLI)UnlimitedInstall required✓ Local onlyPower users, automation
Sharp (Node.js)UnlimitedDev environment✓ Local onlyDevelopers, CI/CD pipelines
TinyPNG API500/month freeAPI keyServer uploadHigh-volume, server-side workflows
iLoveIMGBatch (limited free)NoneServer uploadOccasional large batches

Method 1: ImgMin — Browser Batch Compression (Fastest, No Install)

ImgMin
Up to 10 images · No upload · Free forever · ZIP download

Drop up to 10 images onto ImgMin at once. The tool compresses all of them simultaneously using your browser's Canvas API and packages them into a ZIP file for download. Zero server upload — all processing happens on your machine.

How to use:

  1. Go to imgmin.pro
  2. Drag and drop up to 10 images (JPEG or PNG)
  3. Adjust quality slider if desired (default is optimized for web)
  4. Click "Download All" to get a ZIP of all compressed images

Processing takes under 5 seconds for 10 images. No account required, no monthly limit, no cost.

Method 2: Mac Preview — Built-In Batch Export

Mac users can batch compress images without installing any software using the built-in Preview app:

  1. Select all your images in Finder
  2. Right-click → "Open With" → Preview (opens all in one window)
  3. Press Cmd+A to select all images in the sidebar
  4. Go to File → Export Selected Images
  5. Choose JPEG format and drag the Quality slider to 80%
  6. Select your output folder and click "Choose"

Preview exports and compresses all selected images in one operation. You can typically achieve 50–70% file size reduction this way with no visible quality difference.

Method 3: ImageMagick — Command Line Power

ImageMagick is the gold standard for bulk image processing. It's free, cross-platform, and can handle thousands of images in a single command:

# Install on Mac
brew install imagemagick

# Compress all JPEGs in current folder to 80% quality
mogrify -quality 80 *.jpg

# Compress all PNGs (lossless optimization)
mogrify -strip *.png

# Batch compress + resize to max 1200px wide
mogrify -resize 1200x1200\> -quality 80 *.jpg

# Convert all PNGs to WebP
mogrify -format webp -quality 85 *.png
Note: mogrify overwrites files in place. Always work on a copy, or use convert input.jpg -quality 80 output-compressed.jpg for a single-file non-destructive workflow.

Method 4: Sharp (Node.js) — For Developers

If you're a developer, Sharp is the fastest Node.js image processing library and the right choice for automated pipelines:

const sharp = require('sharp');
const glob = require('glob');
const path = require('path');

// Batch compress all JPEGs in /input to /output
glob('input/*.{jpg,jpeg}', (err, files) => {
    files.forEach(file => {
        const output = path.join('output', path.basename(file));
        sharp(file)
            .jpeg({ quality: 80, mozjpeg: true })
            .toFile(output);
    });
});

// Batch convert PNG to WebP
glob('input/*.png', (err, files) => {
    files.forEach(file => {
        const output = path.join('output', path.basename(file, '.png') + '.webp');
        sharp(file)
            .webp({ quality: 85 })
            .toFile(output);
    });
});

Sharp uses libvips under the hood and is typically 4–5× faster than ImageMagick for batch processing. It's the recommended choice for CMS image pipelines and CI/CD workflows.

Method 5: FFmpeg — Video-Style Batch Processing

FFmpeg, primarily known for video, is also an excellent batch image processor — especially for converting animated GIFs to WebP:

# Convert all GIFs to animated WebP
for f in *.gif; do ffmpeg -i "$f" "${f%.gif}.webp"; done

# Batch resize + JPEG compress
for f in *.jpg; do
  ffmpeg -i "$f" -vf scale=1200:-1 -q:v 4 "compressed/${f}"
done

Method 6: Windows — Built-In Paint / PowerToys

Windows users have a few built-in options:

Method 7: CI/CD — Automatic Compression in Your Build Pipeline

For web projects, the best approach is automatic compression as part of your build process so no image ever goes unoptimized:

GitHub Actions tip: Add calibreapp/image-actions to your repo's CI workflow. Every time a PR adds or modifies images, it will automatically compress them and commit the optimized versions — zero manual work required.

Frequently Asked Questions

What is the best free tool to compress multiple images at once?

ImgMin is the fastest free browser option for up to 10 images — no upload, no account, instant ZIP download. For larger batches, use ImageMagick (CLI) or Sharp (Node.js). Mac users can use Preview's built-in Export Selected Images feature.

Can I batch compress images without losing quality?

Yes. JPEG at 80% quality or WebP at 85% quality reduces file size 50–70% with no perceptible quality difference at normal viewing sizes. Lossless PNG compression achieves 20–30% reduction with zero quality loss.

How do I batch compress images on Mac without software?

Open all images in Preview, select all (Cmd+A), go to File → Export Selected Images, choose JPEG format at 80% quality. Compresses and exports all images in one step — no extra software needed. For up to 10 images, ImgMin in your browser works too.

Batch Compress Up to 10 Images — Free & Private

Drop multiple images, get a compressed ZIP instantly. No upload, no account, no limits.

Try Batch Compression →

Last updated: April 2026. Tool features and API limits may change — verify on each tool's official documentation.