Why your iPhone photos don't open anywhere
Since iOS 11, iPhones capture photos in HEIC (High Efficiency Image Container) by default — it halves storage vs JPG at equal quality. The catch: HEIC is an Apple-first format. Windows needs an extension, older Android builds ignore it, most web uploaders reject it, and that's how "IMG_4832.HEIC can't be opened" emails start.
The usual "solutions" and their problems
- Change camera settings to "Most Compatible": works, but only for future photos — and you lose the storage savings.
- Cloud converters: your family photos, on a stranger's server, for a task your CPU does in milliseconds.
- Email-to-self: Apple converts on send sometimes — inconsistent, and quality settings are out of your hands.
The 10-second local workflow
- Open the HEIC to JPG Converter.
- Drop any number of .heic files (or a whole vacation's worth).
- Pick quality — 90% is visually identical to the original for sharing.
- Press convert. Decoding uses a WebAssembly HEVC decoder in your browser; re-encoding uses the browser's JPEG encoder. Download individually or as ZIP.
Need lossless output or transparency? HEIC to PNG instead. Mixed batches with other formats? The Bulk Image Converter accepts everything at once.
Important: conversion also launders metadata
HEIC files carry the same EXIF payload as JPG — including GPS. Converting with this tool re-encodes pixels, so camera metadata and location are dropped in the process. If you want to keep EXIF in the JPG, note that this workflow won't preserve it; if you don't want it (selling items online, sharing publicly), that's a feature. Check what's inside a file first with the EXIF Viewer.
Getting HEIC files onto your computer
- USB cable: iPhone → PC shows up as a camera device; copy files directly.
- Bluetooth / Quick Share: sends the original bytes.
- Cloud sync caveat: iCloud "Optimize Storage" may hand you HEIC; iCloud.com download offers JPG, but only one file at a time.
Verification ritual
Convert a HEIC with your Wi-Fi switched off. It works — because the decoder is a ~600 KB WebAssembly module loaded once from this site and executed locally. No bytes of your photo travel anywhere.