Bulk convert images to JPG

One folder, several formats in, one format out.

Drop images here
or click to browse — as many files as you like
jpg · png · webp · heic → jpg
Output
Compress
Quality
85%
Max dimensionpx (optional)Caps the longest edge. Images smaller than this are never enlarged.

0 bytes of image data sent — processed on this device

Verify this yourself
  1. Open DevTools → Network, then convert a file.
  2. No request carries your image — the only requests are the page's own files.
  3. Or disconnect from the internet entirely and convert: it still works.
  1. Step 1Drop your imagesAnywhere on the page
  2. Step 2Set quality 85%Already selected for you
  3. Step 3Download the resultOne file or a zip

A folder assembled over months rarely holds one format. It's the HEIC photos your phone saved, a PNG screenshot from last week, and maybe an AVIF image you downloaded from a page that happened to serve it. This page doesn't ask you to sort by format first — each file is decoded according to whatever it actually is, and every one of them is written out as JPG.

Some of those source files carry transparency and some don't, and that distinction is handled per file rather than for the batch as a whole. A transparent PNG or WebP gets its transparent areas filled with white before it becomes a JPG; a photo that was never transparent to begin with passes through untouched. You don't need to separate the two in advance.

HEIC is the one format in the mix that needs a specialist decoder fetched over the network, and that only happens once for the whole session — the first HEIC file in your batch triggers the fetch, and every HEIC file after it, in the same batch or a later one on this page, uses what's already loaded.

Quality preserved

Transparency handled per file

In a batch this size it would be easy to assume every file needs the same treatment, but transparency is checked individually. Files with an alpha channel — typically PNGs and WebPs pulled from a website — are flattened onto white before encoding; files that never had transparency are converted straight across. The two never get mixed up, even when they're sitting in the same folder and processed in the same pass.

Not sure it held up? Every result has a Compare button — drag the divider to see your original against the processed version at full size.

Common questions

Can I convert HEIC, PNG and WebP files together in one batch?

Yes. Each file is identified by its actual format and decoded accordingly — you don't need to separate them first. Every file in the batch is written out as JPG regardless of what it started as.

Does the HEIC decoder load once per file or once per batch?

Once per session, more precisely. The first HEIC file you drop triggers a one-off fetch; every HEIC file after that, in this batch or a later one, uses what's already loaded.

What happens to transparency in my PNGs when they become JPG?

It's filled with white. JPG has no way to store transparency, so any file with an alpha channel gets flattened before it's written — handled per file, so opaque photos in the same batch aren't affected.

What happens if I include an animated GIF in the batch?

Only the first frame is kept — JPG has no concept of animation, so converting an animated GIF produces a single still image. If you need to keep the motion, converting to JPG isn't the right step for that file.

Private by design.Files are read and processed by your own browser. Nothing is sent to any server.