How it works
- You add a .heic or .heif file. It is read into this browser tab as an ArrayBuffer — nothing is uploaded, which matters because HEIC files are almost always personal photographs.
- HEIC is HEVC video compression applied to a still frame, wrapped in an ISO base media container. Browsers outside Apple's do not ship an HEVC still decoder, so the file is decoded by a WebAssembly build of libheif loaded on demand when you add a file, not on page load.
- The decoded frame comes back as raw RGBA pixel data. It is drawn to a canvas at full resolution and re-encoded as JPEG at high quality — the point of the tool is compatibility, not compression, so the quality setting is deliberately conservative.
- The image's rotation is applied during the decode rather than carried as a flag, so the JPEG appears the right way up in every viewer, including the ones that ignore EXIF orientation.
- The result is offered as a blob URL held only by this tab. Closing or reloading discards both the HEIC and the JPEG.
Limitations
Live Photo motion and depth data are not carried over. An iPhone Live Photo is a still frame plus a short video and, on portrait shots, a depth map used for background blur. Only the still frame survives the conversion. The three-second clip is gone, and so is the ability to change the blur afterwards — the blur that was already applied stays baked into the pixels.
HDR gain maps are flattened. Recent iPhones store an extra map that lets a supporting display push highlights brighter. JPEG as produced here has nowhere to put it, so a photo of a bright sky can look slightly flatter than it did in the Photos app. This is a real difference and it is not recoverable from the JPEG.
Multi-image HEIC files give you the primary image only. Burst sequences and some depth-effect captures store several frames in one container; the conversion takes the one marked as primary and discards the rest.
The file gets bigger, not smaller. HEIC is a far more efficient still format than JPEG — often half the size for the same visual quality. Converting is a compatibility operation and you should expect the JPEG to be larger than the HEIC it came from.
Questions
Is there a file size limit?
No cap is enforced. The practical limit is your device's memory, since the decoded frame is held uncompressed before it is re-encoded. A normal iPhone photo is nowhere near that limit.
Why is the JPG larger than the HEIC?
Because HEIC compresses far better. Roughly half the size for the same quality is typical. You are converting for compatibility with software that cannot read HEIC, and the size increase is the price of that.
Does the quality change?
Slightly, and deliberately little. The JPEG is written at a high quality setting because the reason to convert is compatibility rather than size. At normal viewing distance the difference is not visible; a pixel-level comparison will show JPEG's usual behaviour at hard edges.
What happens to my Live Photo?
You get the still frame. The motion clip and, on portrait shots, the depth map are discarded — a JPEG has nowhere to store either. Keep the HEIC original if the motion matters to you.
Do I need an account?
No. There is no sign-up, no email step and no usage counter. The tool is paid for by the ads on this page.
When people use it
The everyday version of this problem is an iPhone photograph and a system that has never heard of HEIC: a government upload form, an older Windows machine, a print shop's kiosk, a colleague's image editor. The photo is fine; the container is the problem, and no amount of renaming the extension will fix it.
The second version is bulk. Someone shares an album from an iPhone and every file arrives as HEIC on a machine that shows a generic icon for all of them. Converting the handful you actually need is faster than installing a codec pack, and it does not require administrator rights on a work computer — which is often the actual blocker.
Converted photos of documents often need to be one attachment rather than several files — Images to PDF assembles the JPGs into a single PDF in the order you set.
How it compares
Sending holiday photographs and pictures of your family to a conversion server to change a container format is a poor trade, and this page avoids it entirely. Where a native route wins: on a Mac, Preview exports to JPEG with the colour profile and HDR handling intact, and on an iPhone you can set Camera to capture 'Most Compatible' so the problem never occurs. If you convert HEIC regularly, changing the capture setting is the better fix.