Image4 min

How to Convert HEIC (iPhone) Photos to JPG on Any Device

Convert iPhone HEIC photos to JPG in the browser via libheif WASM — Windows, Android, Linux, all supported, no upload.

HEIC decoding runs locally via Zro7 HEIC to JPG using libheif compiled to WebAssembly. Photos never leave your browser.

To convert an iPhone HEIC photo to JPG, use Zro7 HEIC to JPG. Drop one file or a whole album; each HEIC (or HEIF) is decoded in your browser via WebAssembly and re-encoded as a JPG you can open on Windows, Android, Linux — anywhere. Nothing is uploaded.

Why HEIC exists (and why it's a pain)

Apple made HEIC the default in iOS 11 because it's roughly half the size of JPEG at matching quality. The catch: HEIC uses HEVC (H.265) compression, which is patent-encumbered — so Windows, Android, and many web apps don't decode it natively. Emailing a photo from iPhone to a Windows friend often results in "can't open this file."

Steps

  1. Open HEIC to JPG.
  2. Drop one HEIC or a whole batch (multi-image HEIC files supported too).
  3. Pick JPEG quality (default 90 for near-identical output).
  4. Download either single files or the entire batch as a ZIP.

Preserve or strip metadata

HEIC carries EXIF including GPS. The converter defaults to preserving EXIF (so photo dates and orientation survive), but you can toggle stripping for privacy. Combine with EXIF Editor to selectively remove just GPS or camera serials.

Alternative: keep HEIC, share as PDF or ZIP

If you need to send an iPhone photo to someone on Windows and don't want to convert one-by-one, Images to PDF accepts HEIC and gives you a universally-openable PDF.

Frequently asked questions

Does it handle Live Photos (HEIC + MOV pairs)?

The still HEIC part converts to JPG. The MOV motion component is a separate file — use the video tools if you need to convert it.

Does the converter run without internet?

Yes, after the first page load. libheif's WASM module is cached by the browser.

Is quality preserved?

HEIC is already a lossy codec. Converting to JPG at quality 90+ is visually indistinguishable in normal viewing; there's a tiny generation loss.

Are burst / multi-image HEICs supported?

Yes — each frame becomes its own JPG.

Any file limit?

None imposed by Zro7. Practical limit is browser memory — hundreds of photos work fine.

Related posts

← Back to blog