The short version
HEIC is the file format iPhones have used for photos since 2017. It stores the same picture as a JPG in roughly half the space, which is why Apple adopted it and why almost nobody outside Apple’s ecosystem asked for it. Windows, most web forms, older Android phones and many printing services either refuse the file or show a blank thumbnail. The fix is to convert the photo to JPG — either once, on your phone’s settings, or per file when you need to send one.
Where the format comes from
HEIC stands for High Efficiency Image Container. It is not a compression method on its own; it is a box. The box format is HEIF (High Efficiency Image File Format), standardised by the MPEG group in 2015 as ISO/IEC 23008-12. Inside the box, the image data is compressed with HEVC — the same H.265 video codec used for 4K streaming — applied to a single still frame. HEIF can hold other codecs too (AVIF is HEIF with AV1 inside), but when the codec is HEVC, Apple gives the file the .heic extension.
Apple switched the iPhone’s default camera format to HEIC with iOS 11 in September 2017. The reasoning was storage: an HEVC intra frame reaches the same visual quality as a JPEG at about 40–50 % of the file size, and iPhones were shipping with 32 GB of storage while cameras had reached 12 megapixels. A camera roll of 5 000 photos at 3 MB each is 15 GB; at 1.5 MB it is 7.5 GB. The format also carries things a JPEG cannot — 10-bit colour depth, the depth map used for Portrait mode, the three-second clip behind Live Photos, and image sequences — in a single file.
Why it breaks elsewhere
Two separate problems stack on top of each other.
Patents. HEVC is covered by several patent pools (MPEG LA, Access Advance, Velos Media) with licensing terms that were, for years, unclear and expensive. Microsoft’s answer on Windows 10 was to ship the container support for free but sell the HEVC Video Extensions codec for $0.99 in the Microsoft Store; without it, Photos shows the file name and a grey box. Some OEM machines bundle a free “from Device Manufacturer” variant, most do not. Chrome, Firefox and Edge never added HEIC decoding at all, for the same licensing reason — so any website that previews images in the browser sees an HEIC as an unknown blob. Safari on macOS and iOS decodes it natively because Apple pays the licence.
Software written before 2017. A large share of the world’s upload forms, CMSes, e-commerce back-ends and photo kiosks validate files by extension or by the first bytes of the file and were written when “photo” meant JPEG, PNG or GIF. They reject .heic as “not an image”. Android supported HEIF from version 9 (2018) for decoding, but many gallery and messaging apps still convert to JPEG on the way out to be safe.
The practical result: when an iPhone user AirDrops a photo to a Mac, everything works; when the same photo goes to a PC by cable, e-mail or a cloud folder, it arrives as a file the recipient cannot open.
Why you often don’t notice
iOS converts HEIC to JPEG automatically in several paths, which is why many people never learn the format exists. Sharing through the Messages app, Mail, WhatsApp, Instagram or most third-party apps goes through the system share sheet, which hands over a JPEG. The setting Settings → Photos → Transfer to Mac or PC → Automatic does the same when copying over USB. Where the original HEIC leaks through is the paths that copy files rather than “share” them: iCloud Drive, Files app, a USB transfer with the setting on Keep Originals, Google Drive’s backup, and anything that asks for the original for quality reasons.
Three ways to get a JPG
- Stop producing them. Settings → Camera → Formats → Most Compatible makes the camera shoot JPEG from then on. Photos get about twice as large and you lose 10-bit colour, but nothing you send will ever bounce. Existing HEIC photos are not converted.
- Convert on the way out. Set Transfer to Mac or PC to Automatic and let iOS convert during USB copy; share through apps rather than copying files.
- Convert the file you already have. For a handful of files that have already landed on a PC, HEIC to JPG decodes them in the browser — the decoder (libheif, compiled to WebAssembly) runs on your machine, so a folder of family photos is never uploaded anywhere. It handles batches, keeps the capture date and orientation, and can write PNG instead of JPG when you need a lossless copy. If you also need the photo smaller for e-mail, compress it in the same session.
What is lost in conversion
Converting HEIC to JPEG is a lossy re-encode: the decoder produces the full image, the JPEG encoder compresses it again. At quality 85–90 the difference is invisible in normal viewing, but it exists, so keep the HEIC if you care about the master copy. Two things are dropped outright, because JPEG has no place for them: the depth map (Portrait mode’s blur can no longer be re-adjusted) and the Live Photo clip. Metadata — capture time, camera model, GPS position if it was recorded — carries over in the EXIF block, so check whether you want the location in a file you are about to post publicly.
Will this go away?
Slowly. Windows 11 still charges for the HEVC codec on most machines. Browsers have chosen AVIF as their next-generation still format instead, because AV1 is royalty-free — so the “modern image format” the web is converging on is a sibling of HEIC, not HEIC itself. The likely long-term state is that HEIC stays the capture format on Apple devices and JPEG (or AVIF) stays the exchange format, with conversion happening somewhere in between — ideally somewhere that does not involve uploading your photos.