A batch image converter that turns a whole folder of pictures into one
consistent format in a single pass. Drop in dozens of PNG, JPEG, WebP,
GIF, BMP or AVIF files, choose WebP, JPG or PNG as the target,
tune the quality and optional resizing, then download every result as a single
zip. It is built for anyone preparing images for a website, compressing a camera
dump before sharing, standardising assets for an app, or simply shrinking a pile
of screenshots — without installing software or uploading anything.
How it works
Each file you add becomes a job in a queue. When you press Convert, the tool
decodes every image into an off-screen <img>, draws it onto an HTML
canvas at the requested dimensions, and re-encodes it with the browser’s native
encoder via canvas.toBlob(). For lossy targets (WebP and JPEG) the quality
slider maps to the encoder’s quality parameter; PNG is always lossless. If you
cap the longest side, the tool scales each image proportionally with high-quality
smoothing so aspect ratios are preserved and nothing is stretched.
Because JPEG has no alpha channel, any transparent areas are first flattened onto a background colour you pick. Once all jobs finish, the converted blobs are bundled with an in-browser zip library (DEFLATE compression) so you get one tidy download named after the format and count. Duplicate output names are automatically suffixed so nothing is overwritten. The whole pipeline — decode, resize, encode, zip — runs entirely on your device: no network request is ever made, which is why it keeps working even with your connection switched off.
The running savings bar sums the input bytes against the output bytes so you can immediately see how much smaller the batch became. Per-image rows show the original and new dimensions plus the size delta as a percentage, making it obvious which files compressed well and which did not.
Example
Suppose you export 40 product photos from a camera as JPEGs, each around
4.2 MB at 6000×4000 pixels — roughly 168 MB in total. Set the target to
WebP, quality 80, and the longest side to 1920px for the web. After
converting, each image lands near 280 KB at 1920×1280, so the whole batch is
about 11 MB — a reduction of well over 90 percent — and downloads as a
single converted-webp-40-images.zip. The same 40 files sent to PNG instead
would stay large because PNG is lossless, which the savings bar makes obvious at a
glance, helping you choose the right format for the job.
| Target | Quality | Best for | Transparency |
|---|---|---|---|
| WebP | 75–85 | Smallest web images | Preserved |
| JPG | 80–90 | Photos, universal support | Flattened to colour |
| PNG | lossless | Logos, screenshots, sharp edges | Preserved |
Every byte is processed locally in your browser — no images are uploaded, stored or shared.