← Back to Blog

HEIC format: the complete guide

The iPhone is the world's most-used camera. Since 2017, every iPhone running iOS 11 or later has saved photos in HEIC format by default — which means HEIC is behind billions of photos taken every year. Yet it remains unfamiliar and occasionally frustrating to many people, largely because it works invisibly inside the Apple ecosystem and conspicuously fails the moment you step outside it. This guide covers everything: what HEIC is, why Apple chose it, how to open it on every platform, and how to convert it.

Same photo · Same perceptual quality HEIC ~2 MB JPG ~4 MB 0 2 MB 4 MB
HEIC files are approximately half the size of JPEG at the same perceptual quality — the core reason Apple switched from JPEG in 2017.

What is HEIC?

HEIC stands for High Efficiency Image Container. It's Apple's implementation of HEIF — the High Efficiency Image Format — a standard developed by the Moving Picture Experts Group (MPEG) and published as ISO/IEC 23008-12 in 2015.

At a technical level, HEIC is a container format built on ISOBMFF (ISO Base Media File Format), which is the same architectural standard used for MP4 video files. This isn't a coincidence: the compression engine powering HEIC image data is HEVC (H.265) — the codec developed primarily for 4K and 8K video. Applying video-derived compression to still images turns out to be remarkably effective, yielding smaller files with no perceptible quality loss compared to JPEG.

Apple adopted HEIC as the default photo format in iOS 11 and macOS High Sierra, both released in September 2017. Before that, the iPhone had used JPEG as its default since the original iPhone launched in 2007. Cameras, apps, and software worldwide had spent a decade optimizing for JPEG. That installed base is the main reason HEIC compatibility is still uneven across non-Apple platforms nine years later.

One of HEIC's architectural strengths is its ability to bundle multiple types of data into a single file. A single HEIC photo from your iPhone might contain the main still image, a depth map used for Portrait mode blur, HDR metadata, a full-resolution thumbnail, and — for Live Photos — a 3-second motion clip. JPEG can only hold one image per file with no built-in support for auxiliary data like depth maps.

Why Apple switched from JPG to HEIC

The case for switching was driven primarily by storage, and the numbers are substantial. A typical 12-megapixel iPhone photo saved as JPEG is approximately 3–5 MB. The same photo saved as HEIC is approximately 1.5–2.5 MB — roughly half the file size at visually identical quality. Multiply that across a typical library:

On a device where storage is finite and upgrades cost money, a 50% reduction in photo file sizes is a compelling reason to change formats.

But storage efficiency isn't the only advantage HEIC holds over JPEG. HEIC supports 10-bit color depth, compared to JPEG's 8-bit. This means HEIC can represent over one billion distinct color values versus JPEG's 16.7 million. In practical terms, this produces smoother gradients in skies and skin tones, better retention of highlight and shadow detail, and more accurate colors in high-contrast scenes. The richer color support is part of why iPhone photos often look notably better than older smartphone photos despite similar megapixel counts.

HEIC also introduced several capabilities that are simply impossible in JPEG:

HEIC vs JPEG — a technical comparison

Here's how the two formats compare across the metrics that matter most:

Feature HEIC JPEG
Typical file size (12 MP photo)~2 MB~4 MB
Color depth10-bit (1.07B colors)8-bit (16.7M colors)
Transparency (alpha channel)YesNo
Multiple images per fileYesNo
Lossless compression optionYesNo
Animation / image sequencesYesNo
Depth map supportYesNo
Browser supportSafari onlyUniversal
Android supportGoogle Photos onlyUniversal
Windows supportCodec requiredUniversal
Editing software supportLimitedUniversal
Developed byMPEG / AppleJPEG Committee
Year introduced2015 (HEIF standard); 2017 (Apple default)1992

The conclusion is straightforward: HEIC is technically superior in nearly every quality and capability dimension. JPEG's advantage is entirely about compatibility — four decades of ubiquity mean that JPEG support is essentially universal, while HEIC support is strong inside Apple's ecosystem and uneven everywhere else.

How to open HEIC on Windows

Windows 10 and Windows 11 can open HEIC files, but it requires a codec that isn't installed by default. Without it, Windows Photos shows a placeholder icon, File Explorer shows no thumbnail, and attempts to open the file produce an error.

Method 1 — Install HEIF Image Extensions (free)

  1. Open the Microsoft Store on your Windows PC.
  2. Search for HEIF Image Extensions.
  3. Install it — it's free. Microsoft also offers HEVC Video Extensions as a paid add-on (~$0.99) if you want HEVC video support; for HEIC photos only, the free HEIF extension is sufficient.
  4. After installing, HEIC files will open in the Windows Photos app and display thumbnails in File Explorer without any further configuration.

Windows 11 has slightly improved out-of-the-box HEIC handling in recent builds, but the extension installation remains the most reliable path.

Method 2 — Convert to JPG first

If you'd rather not install anything, convert the HEIC files to JPG using inktools.tech/heic-to-jpg/ before working with them. The converter runs in any browser, requires no installation, and processes files locally so nothing leaves your device. This is the better approach if you need to open a few files once rather than setting up ongoing support.

How to open HEIC on Android

Android's HEIC support is the weakest of any major platform, which is why the "grey box" problem is so common when iPhone users send photos to Android friends.

Google Photos
Supported
HEIC support added 2021. If this is the recipient's gallery app, HEIC files should open.
Samsung Gallery
Not supported
Samsung's default gallery does not open HEIC files natively on most devices.
Google Files
Not supported
Cannot preview HEIC files. Shows a generic file icon.
Most gallery apps
Not supported
The majority of third-party Android gallery apps do not support HEIC.
Chrome on Android
Not supported
Cannot display HEIC images inline on web pages.
Email apps
Varies
Gmail may show a preview via server-side conversion; other email apps typically don't.

The practical recommendation: don't rely on Android HEIC support. Even if a specific recipient uses Google Photos, you can't assume this for everyone you send to. Converting to JPG before sending takes seconds and removes all compatibility uncertainty.

How to open HEIC on Mac and Linux

macOS has supported HEIC natively since macOS High Sierra (10.13), released in 2017. On any Mac running High Sierra or later, HEIC files open in Preview and Photos natively, display thumbnails in Finder, and display inline in Safari. No extra software or codec installation is required. HEIC support on Mac is seamless — a HEIC photo is indistinguishable from a JPEG in normal use.

On Linux, HEIC support requires the libheif library, available in the package repositories of most major distributions:

Linux support is functional for users willing to install the necessary libraries, but doesn't match macOS's frictionless out-of-the-box experience.

Browser support for HEIC

Browser support for HEIC images embedded in web pages — using a standard <img> tag — is still limited, which has direct implications for web developers and for anyone who shares links to HEIC files expecting them to open in a browser.

For web developers: Never serve HEIC as your primary image format for web content. Use WebP with JPEG fallback for photographs (<picture> element with multiple <source> elements), and PNG or SVG for graphics. HEIC is a camera and archive format — it was not designed for web delivery and browser support reflects that. Serving HEIC images to web users means a significant portion of your audience sees broken image placeholders.

How to convert HEIC files

For most conversion needs, a browser-based tool is the most accessible approach. InkTools offers three converters for HEIC files, all running locally in your browser — your photos are never uploaded to a server.

For larger workflows, these alternative tools are worth knowing:

How to stop your iPhone from saving in HEIC

If you consistently run into HEIC compatibility problems — sending to Android users, working with Windows-based colleagues, or uploading to services that reject HEIC — the simplest permanent fix is to change your iPhone's camera format setting.

  1. Open Settings on your iPhone.
  2. Tap Camera.
  3. Tap Formats.
  4. Select Most Compatible.

With Most Compatible selected, all new photos save as JPEG and all new videos save as H.264. This setting only affects photos taken after the change — your existing HEIC library remains in HEIC format.

The tradeoff to understand: JPEG files are roughly twice the size of HEIC at comparable quality. If you're shooting frequently, you'll fill storage about twice as fast. A reasonable middle ground is to keep HEIC as your default setting and convert individual photos to JPEG only when you need to share them with specific people — using a browser converter makes this quick enough that it's not particularly burdensome.

HEIC for developers

If you're building an application that accepts HEIC file uploads from iPhone users, here's a practical overview of your options.

Python

The pillow-heif library adds HEIC support to the widely-used Pillow image processing library:

from pillow_heif import register_heif_opener
from PIL import Image

register_heif_opener()
img = Image.open("photo.heic")
img.save("photo.jpg", quality=90)

Install with pip install pillow-heif. The library handles single-image HEIC files and multi-image containers, including Live Photo files containing both still and motion data.

Node.js

The sharp library supports HEIC input when libvips is built with libheif support:

const sharp = require('sharp');

await sharp('photo.heic')
  .jpeg({ quality: 90 })
  .toFile('photo.jpg');

Sharp is production-tested and widely deployed for image processing in Node.js applications. HEIC support requires that libheif is available on the system, which is standard on modern Linux server distributions.

Server-side strategy

If you're accepting HEIC uploads from users, the practical recommendation is to convert to JPEG or WebP immediately on the server upon upload, store the converted version, and discard the HEIC original unless you have a specific need to preserve it. This simplifies your image serving pipeline considerably — you avoid the need to check and handle HEIC at every downstream point where images are displayed or shared.

Frequently asked questions

Is HEIC better than JPG?
In technical terms, yes — HEIC offers roughly half the file size at the same perceptual quality, supports 10-bit color depth versus JPEG's 8-bit, and can store transparency, depth maps, and motion clips that JPEG simply can't. In practical terms, HEIC's advantage depends on whether everyone you share photos with can open it. Inside the Apple ecosystem, HEIC is clearly superior. For photos shared widely with Windows or Android users, JPEG's universal compatibility often makes it more practical in everyday use, technical inferiority aside.
Can I email HEIC files?
You can attach HEIC files to an email. Whether the recipient can open them depends on their device: on Mac or iPhone, they'll see the photo normally; on Windows, they'll need HEIF Image Extensions installed; on Android, most email clients will show an unreadable file attachment. If you're unsure what device your recipient uses, convert to JPG before attaching. HEIC files sent to Apple Mail on Mac, or to an iPhone via Mail, will open correctly without any conversion.
Does Windows 10 support HEIC?
Not without a codec extension. You need to install the free HEIF Image Extensions from the Microsoft Store. Once installed, HEIC files open in the Windows Photos app and display thumbnails in File Explorer. Windows 11 has modestly improved built-in HEIC handling in recent builds, but the codec extension is still the most reliable path to consistent HEIC support on Windows.
Why does my HEIC look different after converting to JPG?
Two things can contribute. First, HEIC's 10-bit color is being mapped to JPEG's 8-bit, which can subtly affect gradient smoothness. Second, some converters don't correctly apply the ICC color profile embedded in iPhone HEIC files, which can produce a color cast or contrast shift in the resulting JPG. The InkTools converter handles embedded color profiles accurately. If you see dramatic changes in color or contrast after converting, try a different converter, or check that your photo viewer is correctly applying the JPG's embedded ICC profile.
What app opens HEIC on Android?
Google Photos is the most reliable option and is available on the Play Store for free. After updating to a recent version, most HEIC files will display correctly. Other apps like the Luma HEIC viewer also exist on the Play Store. For the most reliable outcome when sharing iPhone photos with Android users, convert to JPG before sending — it removes the dependency on the recipient having any specific app installed.
Is HEIC lossless?
HEIC supports both lossy and lossless compression modes. The photos your iPhone captures are stored with lossy compression by default — but at a much higher efficiency than JPEG's lossy compression, which is why quality is maintained at smaller file sizes. Apple ProRAW, a separate format, captures lossless raw sensor data and is much larger. Standard iPhone HEIC photos use lossy compression; the quality loss at default iPhone settings is minimal and not visible in normal use.
What's the difference between .heic and .heif file extensions?
Functionally, very little. Both .heic and .heif are used for files in the High Efficiency Image Format. Apple uses the .heic extension specifically for its photos. Some other implementations (including some Windows tools and non-Apple cameras that have adopted HEIF) use .heif. Both extensions indicate the same underlying container format and typically use the same HEVC compression. The difference is a naming convention, not a format difference — a file named photo.heif and one named photo.heic are almost certainly the same kind of file.

Convert your HEIC files to any format — free, private, no upload required.