HEIC to JPEG Converter
Apple switched the default iPhone camera format to HEIC in 2017, which is why photos that look fine on your phone refuse to open on a Windows machine or upload to an older web form. Decoding happens here in a Web Worker so the page stays responsive on large photos.
How to use it
- Drop in a .heic or .heif file straight from your phone or Photos export.
- A Web Worker decodes the HEVC-compressed image off the main thread.
- The .jpg downloads when decoding completes.
Why your browser cannot open HEIC on its own
HEIC is a container, and the image inside it is compressed with HEVC, also known as H.265. HEVC is encumbered by a large and fragmented patent pool, with licensing administered by multiple groups that do not always agree with each other.
The practical effect is that most browsers never shipped an HEVC still-image decoder, because doing so would require licensing fees for a format used mainly by one vendor ecosystem. Apple devices decode HEIC natively because Apple licenses it; everyone else has to bring their own decoder. This page ships one compiled to WebAssembly, which is why conversion takes a moment and why it happens in a worker rather than blocking the page.
What HEIC stores that JPEG cannot
HEIC files from a modern iPhone are frequently containers holding considerably more than one image, and the extra content has no JPEG equivalent.
Expect these to be dropped in conversion:
- Live Photo video. The short motion clip paired with the still is a separate track in the container. Only the still frame converts.
- Depth and portrait data. The depth map that drives portrait-mode background blur is stored as an auxiliary image. The blur already baked into the visible image survives; the ability to re-edit it does not.
- Burst sequences and alternate frames, where the container holds several related captures.
- Ten-bit colour. HEIC commonly stores 10 bits per channel; JPEG is 8-bit. The reduction is usually invisible but can produce faint banding in wide, smooth gradients such as clear skies.
- HDR gain maps, which is why a converted photo can look slightly flatter than the original did on the phone screen.
File size and orientation
HEIC is roughly twice as efficient as JPEG at equivalent quality, so expect the converted file to be noticeably larger than the original. That is the cost of using a format everything can open.
Orientation is applied during decoding rather than left as an EXIF flag, so photos taken in portrait stay upright. This avoids the long-standing problem where a rotated photo displays correctly in one program and sideways in another depending on whether that program honours the EXIF orientation tag.
At a glance
| Accepted input | .heic, .heif |
|---|---|
| Output | .jpg, 8-bit |
| Execution | Web Worker, off the main thread |
| Not preserved | Live Photo video, depth maps, HDR gain maps |
Frequently asked questions
Why can my browser not just open HEIC directly?
The image inside a HEIC file is HEVC-compressed, and HEVC carries significant patent licensing obligations. Most browsers chose not to ship a decoder. This page supplies one as WebAssembly instead.
Does my Live Photo convert too?
Only the still frame. The paired video clip is a separate track in the container and has no place in a JPEG. Export the video separately from Photos if you need it.
Why is the JPEG bigger than the HEIC?
HEIC is about twice as space-efficient as JPEG for the same visual quality. Converting to a universally supported format costs file size.
Will portrait-mode blur survive?
The blur you can see survives, because it is part of the rendered image. The underlying depth map does not, so you lose the ability to adjust the blur afterwards.
Read more
Choosing an image format — Why the same photograph can be 40 KB or 4 MB depending on a single dropdown, and how to choose deliberately.