Tools › Guides › How to convert HEIC to JPG
How to convert HEIC to JPG
HEIC is what your iPhone saves by default and what half the internet cannot open. Converting is straightforward: the parts worth knowing are what you lose and how to stop producing them in the first place.
What HEIC is, and why it keeps catching people out
HEIC is Apple's name for an image stored in the HEIF container using HEVC compression. It has been the iPhone default since iOS 11, and it is genuinely better than JPEG: roughly half the file size at the same visible quality, with support for transparency, 16-bit colour, and multiple images in one file, which is how Live Photos and depth maps are stored.
The problem is not the format. It is that HEVC is patent-encumbered, so support is uneven in exactly the places where it matters: Windows needs an extension from the Microsoft Store, plenty of web upload forms reject the extension outright, and a lot of software that opens "any image" does not open this one.
So you have the better format and cannot use it, which is why this conversion exists.
What you lose
File size doubles, roughly. The same picture as JPEG at comparable quality is about twice as large. This is the cost of compatibility and there is no way around it.
It is a lossy-to-lossy conversion. HEIC is already lossy. Decoding it and re-encoding as JPEG loses a second round. At a sensible quality setting this is not visible, but it is real, and it is why converting the same file back and forth repeatedly is a bad idea.
Depth and Live Photo data go. A HEIC from a modern iPhone can contain a depth map, several frames, and the auxiliary images that portrait mode uses. JPEG holds one image. Everything else is dropped.
Transparency goes. JPEG has no alpha channel. A HEIC with transparency gets a background (white, usually) composited in. If the image needs transparency, convert to PNG or WebP instead.
Colour can shift. HEIC often carries a wide-gamut profile such as Display P3. Converted without care to sRGB, saturated colours, sunsets, brake lights, some greens, can flatten slightly. Usually small, occasionally noticeable.
Quality setting
For photographs, quality 0.85 or thereabouts is the sensible default: no visible artefacts on normal viewing, files a fraction of the size of quality 1.0.
Going to 1.0 does not give you a lossless JPEG: there is no such thing. It gives you a much larger file that is still lossy, and the extra bytes are spent encoding detail nobody can see.
Below about 0.7 the usual JPEG failure modes appear: blocking in smooth areas like skies, and mush around high-contrast edges.
Stopping it happening again
If the round trip is a recurring annoyance, the iPhone can just take JPEGs:
Settings → Camera → Formats → Most Compatible. Photos are then JPEG from the moment they are taken, at the cost of roughly double the storage.
There is also Settings → Photos → Transfer to Mac or PC → Automatic, which converts on the way out while keeping HEIC on the phone. Useful, and worth knowing it is a conversion, so the same losses apply.
Doing it without uploading
A phone camera roll is not a neutral set of files. It has faces, houses, and, because HEIC carries EXIF like everything else, GPS coordinates on most of them. Uploading a batch to a conversion site to change a file extension gives a stranger all of that.
Only Safari can open HEIC on its own; Chrome, Edge and Firefox cannot. So the converter here brings its own decoder, libheif, which downloads once (about 3 MB) the first time you drop in a HEIC and is cached after that. The photos themselves are decoded on your own machine and nothing about them is transmitted: no upload, no queue, and the GPS location is stripped from the JPG you save.
One caveat worth stating plainly: browser HEIC support is newer than the rest, and an older browser may not decode it. If a file is rejected, that is what happened, and the Apple-side settings above are the way around it.