Why this tool is different
When you have a folder with a PNG, two HEICs, a WebP and something ending in .jfif, you do not want five different converters. Drop the lot in here. We detect each file from its actual bytes, route it to the right decoder, and give back JPGs — with the same transparency and quality controls throughout.
How it works
- 1
Add a mixed batch of images in any supported format.
- 2
Set quality and a background colour for transparent files.
- 3
Each file is identified by its magic bytes and decoded accordingly.
- 4
Download the JPGs individually or as a ZIP.
What to watch out for
Supported inputs
PNG, WebP, AVIF, HEIC/HEIF, BMP, TIFF, GIF, JFIF and JPEG. Animated formats export their first frame and say so.
The extension is not trusted
Files are identified by their content, not their name. A PNG named photo.jpg is detected correctly and converted properly instead of failing halfway.
When a dedicated tool is better
The per-format pages explain the quirks that matter for that format — Live Photos for HEIC, animation for WebP, transparency for PNG. If you only have one format, start there.
Frequently asked questions
Which formats can I convert?
PNG, WebP, AVIF, HEIC, HEIF, BMP, TIFF, GIF, JFIF and JPEG. Anything your browser can decode will work; anything it cannot gets a clear error rather than a silent failure.
Can I mix formats in one batch?
Yes. Each file is detected and routed independently, so a batch of mixed formats converts in one go.
What happens to transparent images?
Transparency is flattened onto the background colour you choose, because JPG cannot store an alpha channel.
Are my files uploaded to a server?
No. The conversion runs in JavaScript and WebAssembly inside your own browser. Open your devtools, switch to the Network tab and run a conversion — there is no upload request to see. Closing the tab clears the working session.