
12 Image Converters Compared: Browser, Desktop, CLI and API
Which image converter to use - browser tools, XnConvert, IrfanView, ImageMagick, libvips, sharp, Pillow and CDNs. Compared on batch size, formats, speed, privacy and cost.
“Image converter” covers four completely different kinds of tool: a web page you drop a file onto, a desktop application, a command-line program, and a service that converts on request. Each is the right answer for a different job, and the wrong answer for the others.
This guide compares twelve of them on the things that actually decide the choice: how many files you have, whether the images can leave your machine, which formats you need, and how fast it has to be.
The Comparison
| Tool | Type | Batch | Privacy | Cost | Speed |
|---|---|---|---|---|---|
| Browser converters | In-browser | Dozens | Local | Free | Fast |
| Squoosh | In-browser | One | Local | Free | Fast |
macOS Preview and sips |
Built in | Hundreds | Local | Included | Fast |
| PowerToys Image Resizer | Built in | Hundreds | Local | Free | Fast |
| XnConvert | Desktop GUI | Thousands | Local | Free | Fast |
| IrfanView | Desktop GUI | Thousands | Local | Free | Very fast |
| GIMP | Desktop GUI | Scripted | Local | Free | Slow |
| Photoshop | Desktop GUI | Thousands | Local | Subscription | Moderate |
| ImageMagick | CLI | Unlimited | Local | Free | Moderate |
| libvips | CLI | Unlimited | Local | Free | Fastest |
| sharp / Pillow | Library | Unlimited | Local | Free | Fast |
| Image CDN | Service | Unlimited | Uploaded | Paid tiers | On demand |
Start Here: How Many Files?
The count decides more than anything else — because the per-image cost varies enormously between tools and formats, and it only becomes visible at volume:
Encode Time for One 1200×630 Image
Best of three runs on the same machine and source. Multiply by your file count.
At one image these are all instant. At ten thousand, the difference between 27 ms and 923 ms is four minutes versus two and a half hours. AVIF’s speed setting alone spans a 13× range, which is why encoder effort is the first thing to tune in a batch job rather than the last.
| Files | Use |
|---|---|
| 1–5 | Whatever is already on your computer |
| 5–100 | A browser converter, or your operating system’s batch feature |
| 100–5,000 | XnConvert or IrfanView with a GUI, or ImageMagick |
| 5,000+ | libvips or sharp — the speed difference stops being academic |
| Continuous | A CDN or a build step, so nobody runs anything by hand |
The second question is whether the images are allowed to leave your machine. If they contain client work, unreleased products, personal photographs, documents or anything covered by an agreement, every option marked Local above is fine and the last row is not.
1. Browser Converters
Conversion compiled to WebAssembly and run inside the page. Nothing is uploaded, and there is no install.
ImageGuide’s converters cover the common pairs — PNG to JPG, WebP to PNG, HEIC to JPG, JPG to WebP — plus PDF and document tools and an image compressor.
Good for: a handful to a few dozen files, on any device, including work machines where you cannot install software.
Limits: memory is the browser’s, so very large files or very large batches will struggle. There is no scripting.
2. Squoosh
Google’s in-browser encoder, and the best tool for understanding compression rather than doing bulk work. It shows two encoders side by side with a draggable split, live file sizes, and every parameter the underlying codec exposes — including MozJPEG, OxiPNG, WebP and AVIF settings that most tools hide.
Good for: choosing a quality setting. Convert one representative image, find the point where you can see a difference, back off one step, then apply that number to your batch with a different tool.
Limits: one image at a time. The companion command-line version was archived, so do not build a pipeline on it.
3. macOS Preview and sips
Already installed on every Mac.
Finder Quick Actions → Convert Image handles hundreds of files from the right-click menu, with format, size and metadata options.
sips is the scriptable version:
sips -s format jpeg -s formatOptions 90 -Z 2000 image.png --out image.jpg
Good for: Mac users who need a batch converted now, with nothing installed.
Limits: fewer formats than the dedicated tools, no control over transparency flattening colour, and macOS only.
4. PowerToys Image Resizer
Microsoft’s free add-on, and the batch converter Windows is otherwise missing. Select files in Explorer, right-click, choose the output format and quality.
Good for: the Windows equivalent of the Finder Quick Action, on hundreds of files.
Limits: the format list is short — JPEG, PNG, BMP, TIFF, WebP. No HEIC, no AVIF.
5. XnConvert
The best free desktop batch converter, on Windows, macOS and Linux. It reads over 500 formats and writes around 70.
Its strength is the action pipeline: stack resize, crop, rotate, watermark, colour adjustment and metadata operations, preview the result on a sample, then run it over thousands of files. Presets save the whole chain.
Good for: recurring batch jobs where you want a GUI rather than a script. Photographers and marketing teams in particular.
Limits: the interface is dense and dated. It is slower than libvips on very large volumes.
6. IrfanView
Windows only, decades old, and startlingly fast. File → Batch Conversion/Rename converts thousands of files in a fraction of the time most GUI tools take.
Good for: enormous Windows batches where you want a GUI. Also the fastest image viewer available, which is a separate reason people keep it.
Limits: Windows only. Some formats need the plugin pack. The interface has not changed materially since the 1990s.
7. GIMP
Free and cross-platform. As a converter it is slower than everything else here, and the batch route means writing Script-Fu.
Good for: when the conversion needs real editing alongside it, and GIMP is already installed.
Limits: heavy for a format change. Use it as an editor, not a converter.
8. Photoshop
File → Export → Export As for one file, and Image Processor (under Scripts) for batches. Actions and droplets automate anything repeatable.
Good for: colour-managed conversions from CMYK print artwork, PSD flattening, and workflows already inside Adobe’s tools.
Limits: subscription cost, slow startup, and enormous overhead for a task a one-line command handles.
Its genuine advantage is colour management. Converting print artwork with the free tools applies a naive transform, and brand colours drift. See our colour spaces guide.
9. ImageMagick
The default command-line answer, and the most widely documented.
# A folder, converted and resized
magick mogrify -format jpg -quality 85 -resize 1600x1600\> *.png
# With explicit transparency handling
magick logo.png -background white -alpha remove -alpha off logo.jpg
Good for: any conversion you can describe, on any platform, scripted or interactive. Over 200 formats.
Limits: it decodes each image fully into memory, so it is slower and far more memory-hungry than libvips on large files. Distributions disable PDF and PostScript handling by default via policy.xml after past Ghostscript vulnerabilities — see our PDF to image guide for that error.
10. libvips
The fastest general-purpose converter available. It processes images as streams through a pipeline rather than loading them whole, so both time and peak memory stay low even on very large files.
# Convert and resize
vipsthumbnail photo.jpg -s 1600 -o photo.webp[Q=78]
# Straight format change
vips copy photo.png photo.webp[lossless=true]
Good for: thousands of files, large source images, memory-constrained servers, and anything user-facing where latency matters.
Limits: fewer formats than ImageMagick, sparser documentation, and a less intuitive command syntax.
On large batches the difference against ImageMagick is typically several-fold in wall-clock time, with a fraction of the peak memory. That is why most image services are built on it rather than on ImageMagick.
11. sharp and Pillow
The library route, for when conversion is a step inside your own program.
sharp (Node) wraps libvips and inherits its speed:
import sharp from "sharp";
await sharp("input.png")
.resize({ width: 1600, withoutEnlargement: true })
.webp({ quality: 78 })
.toFile("output.webp");
Pillow (Python) is slower but far easier to work with, and covers more formats through plugins such as pillow-heif for HEIC:
from PIL import Image
Image.open("input.png").save("output.webp", quality=78, method=6)
Good for: build scripts, upload handlers, and any pipeline where you need conditional logic per image.
Limits: you are writing code, and you own the error handling. Our batch processing guide covers doing that properly.
12. An Image CDN
The category that does not convert in advance at all. You store one master, and the CDN produces the size and format each request needs, from URL parameters and the browser’s Accept header.
https://your-account.sirv.com/photo.jpg?w=800&format=webp
Good for: sites where the source images change constantly, user-uploaded content, and any team that does not want a conversion pipeline to maintain. It also keeps up with formats automatically — when AVIF or JPEG XL support shifts, the delivery layer adapts without you re-encoding anything.
Sirv handles format negotiation, resizing, cropping and compression from the URL, and there is a free tier to test with. Our image CDN comparison covers the alternatives, and signs you need an image CDN covers whether it is worth it yet.
Limits: images are stored on the provider’s infrastructure, so this is not the choice for confidential material. It is also a recurring cost, and it is overkill for a small static site with fixed images.
What About the Online Converters?
The sites that come up first for “image converter online” all work the same way: you upload, they convert on their server, you download.
They are convenient, and for a photo you took of your lunch there is no reason to avoid them. The problem is what people actually convert. Scanned passports, contracts, payslips, medical letters, client artwork under embargo, and photographs of other people all pass through these services daily, uploaded to a company the user has never heard of, retained under a policy nobody read.
Every other tool on this list keeps the file on your own machine, and most are equally convenient. The privacy trade buys nothing.
Choosing in One Line
| Situation | Tool |
|---|---|
| One file, right now | Whatever your OS has |
| A few dozen, any device | A browser converter |
| Finding the right quality setting | Squoosh |
| Hundreds, GUI, Windows | IrfanView or PowerToys |
| Hundreds, GUI, cross-platform | XnConvert |
| Any number, scripted | ImageMagick |
| Thousands, or huge files | libvips |
| Inside your own code | sharp or Pillow |
| Colour-managed print work | Photoshop |
| A site whose images keep changing | An image CDN |
Summary
Checklist
- ✅ The tool matches the file count, not the habit
- ✅ Confidential images used a local tool, never an upload service
- ✅ The quality setting was chosen on a sample, not guessed
- ✅ Transparency handling was specified for anything going to JPEG
- ✅ Large volumes used libvips or sharp rather than ImageMagick
- ✅ Recurring conversions live in a build step or a CDN, not in a person’s memory
- ✅ The lossless originals are kept
For one file, use what you have. For a folder, magick mogrify. For a media library, libvips. For a website whose images keep changing, stop converting and let the delivery layer do it.
Related Resources
Related Guides
12 Free Image Tools Every Web Developer Should Bookmark
Image Compression Tools Compared: TinyPNG vs Squoosh vs ShortPixel & More
10 Ways to Convert Any Image to JPG on Any Device
8 Ways to Convert Images to WebP in Bulk
Batch Image Processing Workflows: Scale Your Optimization
Image CDN Comparison: Cloudinary, Imgix, Sirv and More