Cookies for analytics and advertising
We use cookies for analytics and advertising, both sent to Google. Refusing changes nothing you can see.Read the privacy page
HEIF
The container standard behind HEIC. Same efficiency, same compatibility problems.
HEIF
HEIF is a container: a wrapper that holds streams encoded by something else. It stores a grid of pixels, so enlarging it past its own resolution softens it. It is used for phones and photography.
The extension is .heif, and the full name is High Efficiency Image File Format. Both matter less than what the file can hold, which is what the rest of this page is about.
MPEG published it in 2015. The specification is ISO/IEC 23008-12.
Age is worth knowing here for one practical reason: the older a format is, the more programs have had time to learn it.
It is written down and implementable, though the vendor decides what the next version looks like. In practice that is enough for the file to keep opening; it is not enough to be sure of it.
HEIF discards detail to stay small, and what it discards does not come back. That is the right trade for something being looked at and the wrong one for something being edited: each re-save takes another bite.
HEIF carries an alpha channel, so a logo keeps its soft edges over whatever sits behind it instead of arriving in a white box.
HEIF can store an animation rather than a single still. That is worth knowing before converting one: a target that holds one frame keeps the first and drops the rest, usually without saying so.
Up to 10 bits per channel. It can work in YCbCr, the model video and JPEG compress in and wide-gamut colour.
More than eight bits per channel is what stops a gradient from stepping when it is edited, which is why it matters in a working file and rarely in a finished one.
HEIF is not limited to one page, which matters when converting to something that is: one conversion produces one file holding a single page — the first one, unless the page is something the converter lets you pick.
Only some browsers read it.
Where support is uneven, serving a second format alongside it is the usual answer — the browser takes the one it understands and nobody is left out.
HEIF can hold EXIF, XMP, ICC profiles and GPS coordinates.
The GPS coordinates are the field worth thinking about before sending a file anywhere: they say where the photograph was taken, and almost nothing warns you that they are still in there.
HEIF is meant to be handed over rather than worked in. Editing one is possible and rarely pleasant; the sane approach is to change the source and export again.
The recurring complaints: support outside its home ground is uneven.
None of these is a reason to avoid the format. They are the things worth knowing before you are surprised by one, which is a different claim and a more useful one.
This is the distinction that resolves most confusion about both names. HEIF — High Efficiency Image File Format — is a container standard published by MPEG in 2015. It says how images, thumbnails, metadata and image sequences are arranged in a file; it says nothing about how the pixels are compressed.
HEIC is HEIF holding images compressed with HEVC, which is what Apple devices produce. The same container can hold images coded other ways, and does: AVIF uses a closely related structure with AV1 inside. So "HEIF" describes a family and "HEIC" describes the member of it you are most likely holding.
HEIF is derived from the ISO base media file format — the same nested-box structure MP4 and MOV use. That was a deliberate choice: the tooling, the parsers and the metadata conventions already existed and had been debugged for a decade.
It is also why HEIF files can hold things a still-image format has no business holding, such as timed sequences and multiple related images with their relationships described. The container was designed for video and adapted for stills rather than the other way round.
A single HEIF file can contain an image sequence, a burst, several exposures of the same scene, a depth map, an alpha channel, non-destructive edit instructions, and derived images that are described as transformations of another image rather than stored separately.
Very little software reads any of that. The capability was specified, Apple uses a fraction of it for Live Photos and portrait-mode depth, and everything else in the ecosystem treats a HEIF as one picture. Converting one therefore usually discards features that were present and that nothing was going to read anyway — but it is worth knowing they were there before assuming a file is simple.
The usual figure is that HEIF at the same visible quality is about half the size of JPEG, and it broadly holds. The gain comes from the codec inside rather than from the container: HEVC uses larger and variably sized blocks, better prediction and a stronger entropy coder than JPEG’s 1992 design.
It also fixes limits JPEG never escaped. Ten or twelve bits per channel rather than eight, so gradients band far less. Real transparency. Lossless as an option. None of these are container features either — but the container is what made it possible to ship them together.
AVIF puts AV1-coded images in a container built on the same foundations. It achieves similar or better compression, and its codec is royalty-free, which is the difference that decided its adoption.
Every current browser decodes AVIF. Almost none decode HEIC, and the reason is licensing rather than capability — the HEVC patent pool made shipping a decoder in a free browser untenable. That single fact explains why the technically similar formats ended up in completely different places: HEIF on phones, AVIF on the web.
`.heic` means HEVC-coded images and is what Apple writes. `.heif` is the generic extension and appears on files from other manufacturers and from software that declined to be specific. `.hif` is used by some camera makers, notably Canon, for the same thing.
Software support does not always follow the logic. A tool may accept `.heic` and reject `.heif` while the files are structurally identical, because the check is on the extension rather than the contents. If a HEIF is refused, renaming it to `.heic` is worth trying before concluding anything about the file.
HEIF carries EXIF and XMP the way JPEG does, so camera model, lens, exposure settings, orientation and — where location services were on — GPS coordinates all travel with the file.
The container also has room for the newer provenance and edit-history structures, which is part of why it was chosen for phone photography. Converting to JPEG typically carries the exposure fields across and may or may not carry the location, depending on the tool. For a photograph being published, that is worth deciding deliberately.
Canon cameras writing `.hif`, some Android manufacturers, a scattering of professional cameras with a HEIF option alongside raw, and software exporting to the generic form. It is a small share of what exists — the overwhelming majority of HEIF files in the world are Apple’s HEIC.
The practical consequence is that support is even thinner than for HEIC, because tools tend to be built against the file the largest supplier produces. A generic HEIF from a Canon body can defeat software that handles iPhone files without difficulty.
JPEG when the destination is anything that has to accept it without thought — email, an upload form, a print service. The file will be roughly twice the size and visually indistinguishable at a good quality setting. PNG when the image has transparency or is going into editing.
The one real loss is bit depth. A ten-bit HEIF converted to eight-bit JPEG has fewer levels available in gradients, which can show as banding in a sky. It is rarely visible and it is permanent, so keep the original where the photograph matters — the same rule that applies to every conversion out of a richer format on this site.
| Extension | .heif |
|---|---|
| Media type | image/heif |
| Published by | MPEG |
| First published | 2015 |
| Specification | ISO/IEC 23008-12 |