ZumaTools

HEIC to JPG

Turn iPhone HEIC photos into JPGs that open anywhere. Drop in as many as you like.

Drop HEIC photos here

or click to browse · several at once is fine

Photos are decoded on your device and never uploaded.

How it works

  1. Drop your .HEIC photos in — a whole batch is fine.
  2. Choose JPG quality. 90% is visually identical to the original for almost any photo.
  3. Download them one by one, or all together as a ZIP.

Frequently asked questions

Why can’t I open HEIC files?
HEIC is the format iPhones have used by default since iOS 11. It stores the same photo in roughly half the space of a JPG, which is why Apple adopted it — but support elsewhere is patchy. Windows needs a paid codec from the Microsoft Store, most Android phones and older software cannot read it, and no browser except Safari decodes it. Converting to JPG sidesteps all of that.
Will the photo lose quality?
Slightly, and normally invisibly. HEIC is already a lossy format, so converting to JPG is a second lossy step. At the default 90% quality the difference is not perceptible on a normal photo. Drop to 70–80% and files get noticeably smaller with mild softening in fine detail; below that it becomes visible. If you need no further loss at all, choose PNG instead — though the file will be far larger than the HEIC was.
Why is the JPG bigger than the HEIC?
Because HEIC is a much more efficient format — that is its whole purpose. The same photo typically takes about half the space as HEIC that it does as JPG, so expect files to roughly double. This is the price of universal compatibility, not a fault in the conversion.
Can I convert my whole camera roll at once?
Yes — drop in as many as you like and download the batch as a ZIP. They are converted one at a time on purpose: decoding a 12-megapixel photo takes real memory, and doing a hundred in parallel would crash a phone browser. Expect a second or so per photo, and be aware that a very large batch on a phone may still be slow.
Some of my files failed. Why?
The usual cause is a Live Photo or burst, where the HEIC contains a sequence of frames rather than a single image, or an unusual variant some cameras produce. Failures are listed by filename rather than silently dropped, so you know exactly what did not convert. On an iPhone you can work around it by exporting the photo as a still first.
Are my photos uploaded anywhere?
No. Decoding happens in your browser using a WebAssembly build of libheif that is downloaded once, about 3 MB. Your photos are never transmitted — which matters, since a camera roll is about as personal as files get.

About this tool

Since iOS 11 the iPhone has saved photos as HEIC, and the format is genuinely good — roughly half the size of a JPG at the same quality. The problem is everything that is not an Apple device. Windows wants a paid codec, plenty of Android phones and older applications refuse the file, upload forms reject it, and no browser but Safari can display it. Converting to JPG is the fastest way out.

This tool takes a batch. Drop in a folder’s worth of photos, pick a quality, and download them individually or as a single ZIP. Conversion runs one photo at a time deliberately: decoding a 12-megapixel image needs a substantial chunk of memory, and running dozens concurrently is a reliable way to crash a mobile browser. The progress counter shows where it is up to.

On quality: HEIC is already lossy, so producing a JPG means a second lossy pass. At 90% that is imperceptible in an ordinary photograph, and it is the sensible default. Lower settings shrink the file at the cost of fine detail. PNG is offered for cases where no further loss is acceptable, but be ready for a large file — PNG is lossless and photographs are the worst case for it, so the result can be several times the size of the original HEIC.

Expect the JPG to be roughly twice the size of the HEIC. That is not a failure of the conversion; it is the efficiency difference between the two formats, and it is the trade you are making for a file that opens everywhere. Everything runs locally through a WebAssembly decoder loaded once per visit, so your photos never leave the device and nothing is uploaded to be processed.

Related tools