Batch image conversion is a different problem from converting a single file. You're optimizing for throughput, error handling across many files, and fitting the conversion into an existing workflow (GUI tool, CI pipeline, build script, or API call).
This guide focuses on tools that are actually built for batch use — not web tools where you drag one file at a time.
TL;DR
| Tool | Best for | Technical level | Cost |
|---|---|---|---|
| XnConvert | Desktop GUI batch, non-technical users | Beginner | Free |
| ImageMagick mogrify | CLI scripts, cron jobs, max format support | Advanced | Free |
| Sharp (Node.js) | In-process batch in Node apps | Developer | Free |
| ChangeThisFile API | Language-agnostic API, no infra needed | Intermediate | Free (1K/mo) |
| ImageKit | CDN batch + real-time delivery | Intermediate | Free tier → paid |
How we ranked these
Batch-specific criteria: throughput (how fast can it process 1,000 images?), error handling (what happens when one file fails — does the batch stop?), format support (WebP, AVIF, HEIC, and legacy formats), automation fit (can it run in CI/CD, cron, or on-demand?), and cost (does per-conversion pricing make batches expensive?).
Ranked options
1. XnConvert
What it is: A free, cross-platform desktop batch image converter from the makers of XnView — handles 500+ formats with a GUI-based workflow.
- GUI batch processing: add a folder, set output format and destination, click convert.
- Supports resize, crop, watermark, and color adjustment as part of the batch.
- 500+ input formats including RAW, PSD, HDR, EXR, and legacy formats.
- Desktop only — no API, can't integrate into automated server pipelines.
- Free for personal and educational use; commercial license required for businesses.
- No command-line interface — not scriptable.
Pricing: Free (personal/educational), paid commercial license.
Best for: Designers, photographers, or non-technical users who need to batch convert a folder of images without writing a script.
2. ImageMagick (mogrify command)
What it is: ImageMagick's mogrify command processes images in-place in bulk — mogrify -format webp *.jpg converts an entire folder in one command.
- Single command converts all files in a directory:
mogrify -format webp -path output/ *.jpg - Supports 200+ formats including AVIF, HEIC, RAW, EXR, and legacy formats.
- Composable with shell scripts: loop, filter, log errors, run in cron.
- No GUI — command line only.
- Slower than Sharp for JPEG/PNG/WebP processing on large batches.
- Has a history of CVEs from malformed images — keep it updated.
Pricing: Free, open source.
Best for: Technical users who need batch conversion in shell scripts, cron jobs, or CI pipelines.
3. Sharp (Node.js)
What it is: The fastest Node.js image processing library — batch conversion is as simple as looping through files and calling sharp().toFormat('webp').toFile().
- 10-50x faster than ImageMagick for JPEG/PNG/WebP/AVIF processing.
- Parallel processing: use Promise.all() or worker_threads for concurrent batches.
- Built-in resize, crop, and quality control alongside format conversion.
- Node.js only — not available for Python, Ruby, or Go without wrapping.
- C++ native module — requires build environment; can be tricky on some systems.
- Does not handle as many input formats as ImageMagick (no RAW, EXR, etc.).
Pricing: Free, open source (Apache 2.0).
Best for: Node.js backend services that need the fastest possible batch image processing in-process.
4. ChangeThisFile API
What it is: A REST file conversion API that can be called in a loop from any language — works for batch processing without installing native libraries.
- Works from Python, Ruby, Go, PHP, or any language that can make HTTP requests.
- Free tier: 1,000 conversions/month, no card required.
- No infrastructure: no binary to install, no native module compilation.
- Network round-trip per image — slower than local tools for large batches.
- 25MB upload limit per image on free tier.
- Free tier (1K/mo) depletes quickly for batches of hundreds of images.
Pricing: Free (1K/mo) → $29/mo (10K) → $99/mo (50K)
Best for: Serverless environments or languages without good native image libraries — Python scripts, Ruby apps, PHP backends.
5. ImageKit (batch upload + transform)
What it is: An image CDN with a bulk upload API and URL-based transformations — batch convert by uploading and then serving with transformation parameters.
- Bulk upload API accepts multiple files and processes them in parallel.
- Automatic WebP/AVIF delivery based on browser Accept header — format conversion on delivery.
- Generous free tier: 20GB bandwidth + 20GB storage monthly.
- Designed for CDN delivery, not offline batch conversion.
- You need to upload to ImageKit — not suitable for local file batch processing.
- Overkill if you don't need CDN delivery alongside conversion.
Pricing: Free (20GB bandwidth/mo) → $49/mo (500GB)
Best for: Web applications that need to batch process uploads and serve them with real-time transformation via CDN.
Comparison table
| Feature | XnConvert | ImageMagick | Sharp | ChangeThisFile API | ImageKit |
|---|---|---|---|---|---|
| Batch speed (1K images) | Fast (local) | Moderate (local) | Very fast (local) | Slow (network) | Fast (cloud) |
| GUI available | Yes | No | No | No (web per-file) | Dashboard |
| RAW photo support | Yes | Yes | No | No | No |
| AVIF output | Yes | Yes | Yes | Yes | Yes |
| WebP output | Yes | Yes | Yes | Yes | Yes |
| Scriptable/automatable | No | Yes | Yes | Yes | Yes |
| No install required | No | No | No | Yes | Yes |
| Free | Yes (personal) | Yes | Yes | 1K/mo free | 20GB/mo free |
Our pick
For non-technical users doing a one-time batch: XnConvert. Free, works on Mac/Windows/Linux, handles hundreds of files with a GUI, and supports an enormous range of formats including RAW photos.
For technical users in scripts and CI: ImageMagick mogrify (or Sharp for Node.js). ImageMagick's one-liner handles the most formats. Sharp is much faster for JPEG/PNG/WebP if you're in Node.js.
For API-based batching without installing anything: ChangeThisFile. Best for serverless or multi-language environments. Just be aware: 1,000 free/month means a batch of 500 uses half your monthly allowance.
For most batch conversion use cases, a local tool is faster and cheaper than an API — each image doesn't need a network round-trip. XnConvert for GUI workflows, ImageMagick or Sharp for scripted pipelines. If you can't install anything (serverless, shared hosting, edge functions), ChangeThisFile's free API tier handles batch jobs with a simple loop.