Why Batch Process Images?
Processing images one by one is tedious and time-consuming. Whether you're preparing a product catalogue with 200 photos for an e-commerce site, exporting a wedding gallery for client delivery, or optimising an entire website's image library for faster loading, you need batch processing.
Photoshop's batch scripts and actions are powerful, but Adobe's subscription costs $55+/month. The good news: there are excellent free alternatives that can handle most batch processing tasks just as well — and in some cases, faster.
This guide covers the main approaches, from simplest to most powerful, so you can choose the right tool for your situation.
Method 1: PixlTools (No Installation Required)
For most everyday tasks, PixlTools is the fastest option — zero setup, works in any browser on any device, and processes images one at a time with consistent, professional-quality results. While the tools currently process one image per session, you can work through a batch quickly with no software to install, no file size limitations from desktop RAM, and no account needed.
Popular tools for batch-style workflows:
- Compress Image — Reduce file size up to 80% with one click
- JPG to WebP — Convert your entire photo library to modern WebP format
- Resize Image — Resize to exact social media or web dimensions
- PNG to JPG — Convert graphics to JPEG for smaller file sizes
Best for: Quick processing of small batches (5–30 images), one-off format conversions, situations where you need online access without installing software.
Method 2: IrfanView (Windows, Free)
IrfanView is a free, lightweight image viewer and editor for Windows with genuinely excellent batch processing capabilities. It has been around since 1996 and remains one of the best free batch tools available for Windows users.
How to Batch Convert in IrfanView
- Open IrfanView and go to File, then Batch Conversion/Rename
- Navigate to your source folder and select all images (Ctrl+A to select all)
- Choose your output format from the dropdown (JPEG, PNG, WebP, etc.)
- Click the Advanced button to set quality, resize dimensions, and other options
- Browse to choose an output folder
- Click Start Batch
IrfanView can process hundreds of images in seconds. You can apply a consistent resize, format conversion, and quality setting to an entire folder at once without any scripting knowledge.
Best for: Windows users who want a free, fast desktop batch processor. Handles JPEG, PNG, WebP, TIFF, BMP, GIF, PDF, and 50+ other formats.
Method 3: GIMP with Script-Fu (Windows, Mac, Linux)
GIMP is a free, open-source image editor comparable in features to an older version of Photoshop. It supports scripting through Script-Fu (a Scheme-based scripting language) that lets you apply the same editing operation to many images automatically. If you need to apply more complex edits (colour correction, cropping, layering) in a batch, GIMP is your best free option.
Getting Started with GIMP Batch
In GIMP, go to Filters, then Script-Fu, then Console. You can type a script that loops through your image files, applies operations (resizing, format conversion, colour adjustments), and saves each result to an output folder.
Best for: Advanced users comfortable with scripting who want a free, cross-platform tool with near-Photoshop editing capabilities, not just simple resize/convert operations.
Method 4: ImageMagick (Command Line)
ImageMagick is the most powerful free image processing tool available. It's a command-line program used by major companies including Google, Facebook, and many CDNs to process millions of images programmatically. If you are comfortable with a terminal, ImageMagick is unbeatable for batch processing speed and flexibility.
Install ImageMagick
- Mac: Install via Homebrew with "brew install imagemagick"
- Windows: Download the installer from imagemagick.org
- Linux: Install via your package manager (e.g., "sudo apt install imagemagick" on Ubuntu)
Common Batch Commands
To resize all JPEGs in a folder to 1200px wide:
mogrify -path ./output -resize 1200x *.jpg
To convert all PNGs to WebP at quality 80:
mogrify -path ./output -quality 80 -format webp *.png
To compress all JPEGs to quality 80: