Compressing one image at a time is fine for a single blog header or profile photo. It’s not fine when you’re staring down a folder of 200 product photos, a wedding shoot, or a batch of screenshots that all need to shrink before they go anywhere. For that, you need a tool that processes a whole folder in one pass — and the right one depends entirely on your operating system. Here’s a genuinely practical, step-by-step batch compression method for Windows, Mac, and Linux, plus an honest note on where a single-file tool like AllMediaTools Image Compressor fits into this picture (and where it doesn’t).
Windows: PowerToys Image Resizer
Microsoft’s free PowerToys suite includes an Image Resizer utility with a right-click context menu integration — it’s primarily a resizer, but resizing to smaller dimensions is itself one of the most effective ways to cut file size for a whole batch at once (see our piece on why resolution isn’t the only thing driving file size for how the two relate).
How to use it:
- Install PowerToys (free, from Microsoft’s GitHub releases page or the Microsoft Store).
- In PowerToys Settings, enable Image Resizer.
- In File Explorer, select all the images you want to process (Ctrl+A for a whole folder, or Ctrl+click for specific files).
- Right-click the selection → Resize pictures.
- Choose a preset (Small, Medium, Large) or set a custom target size.
- Click Resize — PowerToys creates resized copies without touching your originals.
Limitation: PowerToys Image Resizer changes dimensions, not JPEG/PNG compression quality directly — it’s a resize tool with a compression side effect, not a dedicated compressor. For genuine batch compression (same dimensions, smaller file via quality/encoding), pair it with a free batch-capable web tool like TinyPNG (up to 20 images per drag, see our comparison of the best image compressor tools), or use the command-line method below via WSL (Windows Subsystem for Linux).
Mac: ImageOptim (Drag-and-Drop Batch) or Automator
Method 1: ImageOptim — Simplest Option
ImageOptim is free, open-source, and built specifically for this.
- Download ImageOptim (imageoptim.com — free).
- Open the app.
- Select an entire folder of images in Finder and drag them all onto the ImageOptim window.
- ImageOptim compresses every file in place (it overwrites originals by default — duplicate the folder first if you want to keep the originals untouched).
There’s no file count limit and no signup — this is the most straightforward batch option on any platform.
Method 2: Automator + Preview (Built Into macOS)
For users who’d rather not install anything, macOS’s built-in Automator can batch-export images at a lower quality:
- Open Automator → New Document → Quick Action (or Application).
- Add the “Copy Finder Items” action first (so originals stay untouched), then add “Change Type of Images” or “Resize Image” actions afterward.
- Save the workflow.
- Select your images in Finder, right-click → Quick Actions → run your saved workflow.
This method takes more setup than ImageOptim but works entirely with tools already on your Mac.
Linux: ImageMagick’s mogrify (Command Line) or Trimage (GUI)
Method 1: mogrify — Fastest for Anyone Comfortable with a Terminal
ImageMagick’s mogrify command is the standard Linux (and cross-platform) way to batch-process images from the command line, and it’s genuinely a one-liner:
# Install ImageMagick first if you don't have it
sudo apt install imagemagick # Debian/Ubuntu
sudo dnf install ImageMagick # Fedora
# Compress every JPG in the current folder to 75% quality, in place
mogrify -quality 75 *.jpg
# Safer: write to a separate output folder instead of overwriting originals
mkdir compressed
mogrify -quality 75 -path compressed *.jpg
This processes every matching file in the folder in seconds, with full control over the quality level via -quality. It works on Windows and Mac too if you install ImageMagick there — it’s not Linux-exclusive, just most at-home in a Linux terminal workflow.
Method 2: Trimage — GUI Option, No Terminal Needed
Trimage is a free, open-source GUI batch compressor built for Linux desktops (available via most distros’ package managers, e.g., sudo apt install trimage).
- Install Trimage from your distro’s package manager.
- Open the app.
- Drag a whole folder of images into the window.
- Trimage compresses all of them losslessly (or with a lossy option enabled in settings) and shows the size savings per file.
Comparison at a Glance
| Platform | Tool | Cost | True batch compression? | Install required |
|---|---|---|---|---|
| Windows | PowerToys Image Resizer | Free | Resize-driven, not direct quality compression | Yes |
| Windows/Mac/Linux | TinyPNG (web) | Free (20/mo quota) | Yes, up to 20 at once | No |
| Mac | ImageOptim | Free | Yes, unlimited | Yes |
| Mac | Automator + Preview | Free (built-in) | Yes, with setup | No (built-in) |
| Linux/any (via terminal) | ImageMagick mogrify | Free | Yes, unlimited, full quality control | Yes |
| Linux | Trimage | Free | Yes, unlimited | Yes |
Where AllMediaTools Fits (and Where It Doesn’t)
To be direct about it: AllMediaTools Image Compressor is a single-file tool today — there’s no multi-file upload queue, so it isn’t the right choice for compressing a folder of 50 or 200 images in one sitting. If that’s your task, use one of the OS-specific batch methods above instead.
Where it genuinely is the better choice is the opposite scenario: you have one image right now — a single product photo, a single screenshot, a single header image — and you don’t want to install anything or learn a command-line tool for a 10-second job. For that specific case, AllMediaTools Image Compressor is free, requires no signup, and gets you a compressed file faster than opening any of the batch tools above would for just one file. See our guide on compressing images without losing quality for recommended quality settings either way.
What to Do Next
- If you have one image to compress right now, use AllMediaTools Image Compressor — no install, no batch setup needed for a single file.
- If you have a whole folder to process, pick the method above for your OS — ImageOptim (Mac), PowerToys + a batch web tool (Windows), or mogrify/Trimage (Linux).
- If you’re unsure which compression quality setting to use for the batch, our compress images without losing quality guide covers the quality range that stays visually lossless across formats.
Frequently Asked Questions
What’s the fastest way to batch compress images on Windows?
For pure resizing, PowerToys Image Resizer’s right-click integration is the fastest built-in option. For actual quality-based compression at scale, pairing it with a free web batch tool (like TinyPNG, up to 20 images per upload) or installing ImageMagick and using mogrify from the command line gives more direct control.
Can I batch compress images without installing any software?
Yes — TinyPNG’s web interface lets you drag up to 20 images at once without installing anything, bounded by its free 20-image-per-month quota. For unlimited batch compression with no install, that’s harder to find; most free unlimited batch tools (ImageOptim, Trimage, ImageMagick) do require a one-time install.
Does batch compression reduce quality more than compressing one at a time?
No — the compression algorithm applies the same way whether you process one file or a hundred; batch tools simply repeat the same single-file operation across every file you select. Quality outcome depends on the quality/compression setting you choose, not on whether it’s done individually or in bulk.
Is ImageMagick safe to use on my original files?
mogrify overwrites files in place by default, which can be risky if you make a mistake with the quality setting. Always use the -path flag to write to a separate output folder (as shown above) until you’re confident in your command, or keep a backup of the originals first.
Does AllMediaTools support batch/multiple file uploads?
Not currently — it’s a single-file tool, one image in, one compressed image out. For batch jobs, use one of the OS-specific tools in this guide (ImageOptim on Mac, PowerToys/TinyPNG on Windows, mogrify/Trimage on Linux) instead.