HEIC to JPG / PNG Converter

Convert iPhone HEIC/HEIF photos to JPG or PNG instantly — free and private.

HEIC to JPG / PNG Converter
Drop a HEIC/HEIF image here or click to browse
iPhone photos (.heic, .heif)

📐 How to Use

  1. Drag and drop a HEIC or HEIF file onto the drop zone, or click to browse.
  2. Choose the output format: JPG or PNG.
  3. For JPG, adjust the quality slider if needed.
  4. Click Download to save the converted image.

🎯 When to Use This

  • Getting an iPhone photo into a Windows application, an upload form or a printing service that treats HEIC files as unopenable.
  • Converting one shot from a shared album before attaching it to an email, without installing a codec pack or a desktop utility.
  • Producing a PNG copy when you plan to edit further and want no second round of lossy encoding after the HEIC decode.

❓ Frequently Asked Questions

QWhat is a HEIC file?
HEIC (High Efficiency Image Container) is the default photo format used by iPhones since iOS 11. It offers smaller file sizes than JPG but is not supported everywhere.
QDoes my photo get uploaded to a server?
No. The conversion runs entirely in your browser using a JavaScript HEIC decoder. Your photo is never uploaded anywhere.
QWhy won't my HEIC file open on Windows or in some apps?
Not all platforms support HEIC natively. Converting to JPG or PNG makes the photo viewable and editable everywhere.
QDoes conversion reduce photo quality?
Converting to PNG is lossless. Converting to JPG uses the quality setting you choose — 90+ keeps quality loss imperceptible for most photos.

ℹ️ About This Tool

HEIC files hold images encoded with HEVC inside an ISO base media container, the same box structure MP4 uses. The codec reaches roughly half the size of JPEG at comparable quality, and one container can hold several images, which is how iPhones store bursts and Live Photos. Patent licensing is why many browsers and desktop apps still cannot open one.

This page loads heic2any, a JavaScript decoder pinned at version 0.0.4 and served from a public CDN, then hands it the file to decode inside the page. The result comes back as a JPEG or PNG blob, with a quality slider from 1 to 100 that applies to JPEG only and starts at 90. The script is fetched over the network; your photo is not.

⚠️ Notes & Limits

  • Only the first image in the container is converted. A burst, a Live Photo or a depth-map pair yields one still and the other frames are dropped.
  • The original cannot be previewed, because the browser has no HEIC decoder of its own; the left panel shows the file name and size instead.
  • The decoder is fetched from a CDN, so the page needs a working connection the first time and reports an error when that script fails to load.
  • Decoding runs in JavaScript rather than on the hardware decoder, so a full-resolution phone photo takes noticeably longer and uses more memory.