HEIC

What is a HEIC file?

What an iPhone saves photos as. Half the size of JPG, and awkward everywhere outside Apple.

What HEIC is

HEIC 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 .heic, and the full name is High Efficiency Image Container. Both matter less than what the file can hold, which is what the rest of this page is about.

Where HEIC came from

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.

The specification is published, but by its owner

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.

Detail is traded for size

HEIC 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.

It can be transparent

HEIC carries an alpha channel, so a logo keeps its soft edges over whatever sits behind it instead of arriving in a white box.

It can hold more than one frame

HEIC 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.

Colour it can describe

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.

HEIC is a box, and the codec is what is in it

It usually holds HEVC. This is the distinction behind most "why will this not play" questions: two files with the same extension can contain entirely different encodings, and a player that refuses one may be perfectly happy with the other.

It also explains why changing container is often fast and lossless while changing codec is neither. Moving the same stream into a different box rewrites the box; re-encoding rewrites the picture.

It can hold several pages in one file

HEIC 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.

What opens HEIC

Apple Photos and Adobe Lightroom read it, and so do most programs of the same kind.

If a file will not open, the format is rarely the problem — it is more often that the program predates it. Converting to something older is the reliable way past that, and it is what the rest of this site is for.

Opening it in a browser

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.

What it can carry besides the content

HEIC 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.

It is a delivery format

HEIC 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.

What goes wrong with it

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.

Your phone chose this, and did not mention it

Since iOS 11 in 2017, an iPhone photographing in its default setting writes HEIC rather than JPEG. Nothing in the camera says so. The photograph looks identical on the phone, occupies about half the storage, and only reveals its format when it leaves — attached to an email, uploaded to a form, or copied to a computer that will not open it.

That is why nearly everyone arriving here did not choose anything. The file is a normal photograph in a format the device picked, and the question is how to get it into something the rest of the world accepts.

Windows asks for money, and that is the licence

Windows does not decode HEIC out of the box. It offers an HEVC Video Extension in the Microsoft Store, and that extension is paid — a small amount, but a charge for opening your own photographs, which is a reasonable thing to be annoyed by.

Microsoft is not being opportunistic. HEVC is covered by patent pools that charge per-device royalties, and shipping a decoder to every Windows installation would mean paying for every installation. Passing the cost to the people who need it was the alternative. The same licensing is why browsers do not display HEIC and why free software has handled it awkwardly for years.

This site can read HEIC and cannot write it

Converting from HEIC works here, in your browser, without an upload. Converting to HEIC does not exist, and that is a licence problem rather than a missing feature.

Decoding can be done with an implementation whose terms a static site can meet. Encoding cannot: shipping an HEVC encoder means holding a patent licence, and there is no arrangement under which a free page hands one to every visitor. Saying that plainly is better than leaving the option greyed out and letting it look like neglect.

The setting that stops it happening again

On the phone: Settings, then Camera, then Formats, then choose Most Compatible instead of High Efficiency. New photographs are then JPEG. They occupy roughly twice the space, and every device made in the last thirty years opens them.

There is a second setting worth knowing, under Photos: Transfer to Mac or PC, set to Automatic. With that on, the phone converts HEIC to JPEG while copying to a computer. It is why some people never encounter the problem and others hit it constantly with the same model of phone.

Half the size, and the part that is not marketing

The compression genuinely is about twice as efficient as JPEG at the same visible quality, and the reason is thirty years of codec development: HEVC uses larger and variably sized blocks, far better prediction, and a stronger entropy coder than JPEG’s 1992 design allowed.

What it does not carry, contrary to the usual claim, is extra bit depth: an iPhone capture is eight bits per channel like a JPEG, and the extra highlight range rides in a separate gain map stored beside the picture. Ten bits belong to ProRAW and ProRes. Converting to JPEG gives up the gain map and the wide colour tagging permanently, which is usually invisible and is worth knowing before converting the only copy.

Live Photos, and what conversion leaves behind

A Live Photo is not one file. It is a HEIC still plus a short MOV holding the seconds around the shutter, linked by an identifier. Converting the HEIC produces a still image and the motion stays behind in a separate file that most conversion tools never see.

Portrait-mode photographs carry a depth map inside the HEIC, which is what allows the background blur to be adjusted after the fact. That map does not survive conversion either — the blur becomes permanent at whatever setting was last applied. Neither is a fault in the conversion; both are properties that only exist inside Apple’s format and its software.

The photographs travel with their location

A HEIC from a phone carries EXIF as a JPEG would: model, lens, exposure, the exact date and time, and — where location services were enabled — the GPS coordinates of where the photograph was taken.

For pictures taken at home, that is a home address embedded in a file about to be posted publicly. Conversion tools differ in what they carry across, and platforms differ in what they strip on upload. It deserves a deliberate decision rather than a hopeful assumption, and stripping it before publishing is the reliable version.

HEIC or HEIF, and why an extension is refused

HEIC is HEIF holding HEVC-coded images — the container standard with a particular codec inside. Files also appear as `.heif` from other manufacturers and as `.hif` from Canon, and they are structurally the same kind of object.

Software support frequently does not follow that logic, because the check is often on the extension rather than the contents. A tool that accepts `.heic` may reject an identical `.heif`. If a file is refused, renaming the extension is worth trying before concluding the file is damaged.

Where to convert to, and why it happens here

JPEG for anything that has to be accepted without thought — email, a form, a print service, a colleague on Windows. Expect roughly double the size and no visible difference. PNG when the image is going into editing and every pixel should survive. WebP when the destination is a web page, where it stays small and every browser reads it.

The conversion runs inside your browser tab, so the photographs are never uploaded — which matters given what a camera roll contains, and given that the usual alternative is handing four hundred personal photographs to a website in exchange for a download link. There is also no size or count limit beyond your own memory, and a camera roll is exactly the batch that hits those limits elsewhere.

The facts, in one place

Identifiers and provenance for the HEIC format.
Extension.heic
Media typeimage/heic
Published byMPEG
First published2015
SpecificationISO/IEC 23008-12