.HEIC High Efficiency Image Container
.heic

High Efficiency Image Container

Convert HEIC photos from your iPhone to JPG, PNG, or WebP directly in your browser — no upload, no server, no app install. FileDex decodes HEIC locally using WebAssembly and re-encodes to your target format in seconds, keeping your photos private.

Image structure
Header signature
Meta dimensions · color
Pixels image data
HEVC CompressionISO BMFF Container10-bit HDRApple Default2017
By FileDex
Not convertible

HEIC codec not compiled into FFmpeg WASM build

Looking to convert? Try a related format:

Common questions

Why can't I open HEIC photos from my iPhone on Windows?

Windows does not include an HEVC decoder by default due to patent licensing costs. Install the free 'HEIF Image Extensions' from the Microsoft Store, then install the 'HEVC Video Extensions' ($0.99) or the free 'HEVC Video Extensions from Device Manufacturer' if available for your hardware.

How do I stop my iPhone from taking HEIC photos?

Go to Settings > Camera > Formats and select 'Most Compatible' instead of 'High Efficiency.' This switches the camera to JPEG output. Alternatively, keep High Efficiency and enable Settings > Photos > Transfer to Mac or PC > Automatic, which converts to JPEG during transfers.

Does converting HEIC to JPG lose quality?

Some quality loss occurs because JPEG uses DCT compression while HEIC uses HEVC — they are fundamentally different algorithms. At JPEG quality 90+, the difference is minimal for typical smartphone photos. The bigger visual change comes from tone-mapping 10-bit HDR content down to 8-bit sRGB.

Can I batch convert hundreds of HEIC files at once?

Yes. Use ImageMagick: magick mogrify -format jpg -quality 90 *.heic to convert all HEIC files in a directory. FileDex also supports multiple files — drop them all into the converter zone. For very large batches (1000+), the CLI approach is faster.

Why are HEIC files smaller than JPEG at better quality?

HEIC uses the HEVC (H.265) codec, which employs variable-size coding tree units up to 64x64 pixels, advanced intra prediction modes, and context-adaptive binary arithmetic coding (CABAC). JPEG's 8x8 DCT blocks and Huffman coding are less efficient. HEVC was designed 20 years after JPEG with decades of compression research applied.

What makes .HEIC special

What is a HEIC file?

HEIC (High Efficiency Image Container) is a file format based on the HEIF (High Efficiency Image File Format) standard. It uses the HEVC (H.265) codec for compression, achieving roughly 50% smaller file sizes than JPEG at the same visual quality.

Continue reading — full technical deep dive

How to open HEIC files

  • Apple devices (iPhone, iPad, Mac) — Native support since iOS 11 and macOS High Sierra
  • Windows 10/11 — Install "HEIF Image Extensions" from Microsoft Store
  • GIMP (Windows, macOS, Linux) — Free, with plugin
  • Adobe Photoshop (Windows, macOS) — Native support since CC 2020

Technical specifications

Property Value
Compression HEVC (H.265)
Bit Depth 8-bit, 10-bit, 12-bit
Color Spaces sRGB, Display P3, Rec. 2020
Alpha Channel Supported
Animation Supported (HEICS)
Multi-image Supported (bursts, live photos)

Why convert HEIC?

While HEIC offers superior compression, compatibility remains limited. Many web platforms, email clients, and older software don't support HEIC. Converting to JPEG or PNG ensures universal compatibility.

.HEIC compared to alternatives

.HEIC compared to alternative formats
Formats Criteria Winner
.HEIC vs .JPG
Compression efficiency at equivalent quality
HEIC HEVC intra-frame compression produces 40-50% smaller files than JPEG at matched visual quality. HEVC uses larger variable block sizes (up to 64x64) and more advanced prediction modes than JPEG's fixed 8x8 DCT.
HEIC wins
.HEIC vs .WEBP
Compression and feature set
HEIC achieves approximately 20% better compression than WebP VP8 lossy. HEIC also supports 10-bit HDR, multi-image containers (Live Photos, bursts), and depth maps — features absent from WebP.
HEIC wins
.HEIC vs .AVIF
Compression efficiency and licensing
AVIF AV1 matches or slightly exceeds HEVC compression efficiency while being completely royalty-free. HEIC/HEVC requires patent licensing through MPEG LA, limiting adoption in open-source projects.
AVIF wins
.HEIC vs .PNG
File size for photographic content
HEIC is 20-50x smaller than PNG for photographs. PNG lossless compression cannot discard perceptual redundancy the way HEVC does. PNG is better suited for graphics with hard edges and text.
HEIC wins

Technical reference

MIME Type
image/heic
Magic Bytes
00 00 00 xx 66 74 79 70 ISO base media ftyp box with heic/heix brand.
Developer
Moving Picture Experts Group
Year Introduced
2015
Open Standard
Yes — View specification
00000000000000XX66747970 ....ftyp

ISO base media ftyp box with heic/heix brand.

Binary Structure

HEIC uses the ISO Base Media File Format (ISOBMFF / ISO 14496-12) container, identical to MP4 and MOV. The file begins with an ftyp box declaring the brand (heic for single image, heics for sequence). Data is organized into boxes: moov contains metadata and item references, mdat holds compressed HEVC intra-frame bitstream data. Each image item is referenced via iloc (item location) and iprp (item properties) boxes. Multi-image files (Live Photos, bursts) store multiple items in the same container with iref (item reference) linking primary and auxiliary images.

OffsetLengthFieldExampleDescription
0x00 4 bytes Box size 00 00 00 18 Size of the ftyp box in bytes (big-endian uint32). Typically 24 bytes for HEIC.
0x04 4 bytes Box type 66 74 79 70 ASCII 'ftyp' — file type box, always first box in ISOBMFF files.
0x08 4 bytes Major brand 68 65 69 63 ASCII 'heic' for HEIC single image, 'heics' for image sequence, or 'mif1' for generic HEIF.
0x0C 4 bytes Minor version 00 00 00 00 Version of the brand specification. Typically 0.
0x10 variable Compatible brands 6D 69 66 31 68 65 69 63 List of compatible brands (mif1, heic, etc.) for reader compatibility detection.
variable variable meta box 6D 65 74 61 Contains pitm (primary item), iloc (item locations), iprp (item properties), and iref (item references).
variable variable mdat box 6D 64 61 74 Media data box containing HEVC-compressed image bitstream data.
2013HEIF (High Efficiency Image File Format) defined in MPEG-H Part 12 (ISO/IEC 23008-12)2015HEIF standard published, specifying HEVC-based image coding within ISOBMFF container2017Apple adopts HEIC as default iPhone camera format starting with iOS 11 and iPhone 72018Samsung Galaxy S9+ adds HEIC capture support on Android2019Windows 10 adds HEIF/HEIC support via Microsoft Store extension2020Android 10 adds native HEIF read support in the media framework
Convert HEIC to JPG with ImageMagick imagemagick
magick input.heic -quality 90 output.jpg

Decodes HEIC via libheif and encodes to JPEG at quality 90. Requires ImageMagick compiled with HEIF delegate support (libheif + libde265).

Convert HEIC to JPG with heif-convert other
heif-convert -q 90 input.heic output.jpg

Uses the heif-convert CLI from the libheif package. The -q flag sets JPEG output quality (0-100). Available on Linux via apt install libheif-examples.

Batch convert all HEIC files to JPG imagemagick
magick mogrify -format jpg -quality 90 *.heic

Converts all HEIC files in the current directory to JPEG. Original .heic files are preserved; new .jpg files are created alongside them.

Strip EXIF location data from HEIC exiftool
exiftool -gps:all= -overwrite_original photo.heic

Removes all GPS-related EXIF tags from the HEIC file without re-encoding the image data. Preserves camera settings and other non-location metadata.

HEIC JPG transcode lossy JPEG provides universal compatibility across all devices, browsers, email clients, and web platforms. Required because most systems outside the Apple ecosystem reject HEIC uploads. iPhone users converting for sharing, social media, or document attachment.
HEIC PNG transcode lossless PNG lossless compression preserves decoded HEIC pixel data exactly, including the full dynamic range. Ideal for archival or when the image enters a multi-step editing pipeline where repeated lossy saves degrade quality.
HEIC WEBP transcode lossy WebP offers a middle ground between HEIC compression efficiency and broad web compatibility. WebP lossy produces smaller files than JPEG, and WebP lossless preserves transparency. Supported by all modern browsers.
MEDIUM

Attack Vectors

  • HEVC decoder vulnerabilities — crafted HEIC files can trigger heap overflows in HEVC parsing libraries (libde265, x265)
  • ISOBMFF box parsing exploits — deeply nested or oversized boxes can cause stack overflow or integer overflow in container parsers
  • EXIF metadata privacy leak — HEIC files from iPhones embed precise GPS coordinates, device identifiers, and timestamps
  • Multi-image container abuse — malicious auxiliary items hidden alongside primary image in the same HEIC container

Mitigation: FileDex decodes HEIC in the browser using heic2any WASM library within the browser sandbox. No server upload occurs. EXIF metadata is stripped during conversion to JPG/PNG/WebP.

libheif library
ISO/IEC 23008-12 HEIF decoder/encoder library with CLI tools
libde265 library
Open-source HEVC (H.265) decoder used by libheif for HEIC decoding
ImageMagick tool
CLI image processor with HEIC support via libheif delegation
heic2any library
JavaScript library for browser-based HEIC to JPEG/PNG conversion via WASM
Apple Core Image library
macOS/iOS framework with native HEIC encoding and decoding