fileformer
search⌘KtranslateENexpand_moreupload_fileConvert
Converters8 file families · 44 direct conversions
What changes in a conversionarrow_forward

Convert HEIC Image Free

HEIC: the iPhone photo that's really a folder of pictures.

Since 2017, iPhones save photos as .heic by default. The file is a container that can hold the photo in tiles, a thumbnail, depth data and more, compressed with the same technology as 4K video. That's why it's small, and why some computers won't open it.

IMG_4402.HEIC · 2.1 MB · click a part8 × 6 grid of 512 px tiles
primary image · 48 tiles
photo_size_select_smallThumbnail≈ 20 KBblur_onDepth map≈ 60 KBhdr_onHDR gain map≈ 90 KBdata_objectPhoto details (EXIF)≈ 30 KBmotion_photos_onLive Photo linkseparate .MOV
grid_viewPrimary image, in tilesThe photo isn’t one big picture. It’s stored as a grid of 512 × 512 tiles, each compressed separately with HEVC, then reassembled when you open it. That lets phones decode just the part you’re zoomed into.
a 12 MP photo8 × 6 = 48 tilescodecHEVC (H.265)
swap_horizConverting to JPG or PNG stitches the tiles into one flat image, so it opens anywhere.
~/why-apple-switched

Roughly half the space of JPEG, for a photo that looks the same.

HEIC uses HEVC, the codec behind 4K streaming, to compress each tile. Typical 12-megapixel iPhone photos come in around 1.5-2.5 MB as HEIC against 3-5 MB as JPEG. Drag to see what that means for a whole camera roll.

photos3,000
as JPEG12.3 GB
as HEIC6.0 GB
HEIC saves about 6.3 GB on 3,000 photos. That’s the difference between filling a 64 GB phone and having room to spare.
~/boxes-in-boxes

Open the file and it’s boxes all the way down.

HEIC uses the same container as MP4: the ISO base media file format. Every piece is a box that starts with a 4-byte length and a 4-letter type, and boxes nest. Pictures are described in meta and their compressed bytes sit in mdat. This is the layout of a typical iPhone photo; click a box to decode it.

ftypFile type24 BmetaMetadata≈ 3 KBhdlrHandler34 BpitmPrimary item14 BiinfItem info≈ 1.1 KBilocItem locations≈ 800 BirefItem references≈ 140 BiprpItem properties≈ 1 KBipcoProperty container≈ 900 BipmaProperty associations≈ 180 BidatItem data8 BmdatMedia data≈ 2.1 MB
ftypFile typeftypAlways first. It names the major brand and a list of compatible brands, so a reader can decide in the first few bytes whether it can decode the file. Its bytes double as the magic number: offset 4 always reads “ftyp”.
major brand · rebuilds the box below
heicheixavifmif1
00·00·00·18·66f74t79y70p68h65e69i63c00·00·00·00·6Dm69i66f31168h65e69i63c
size24 bytes (big-endian)typeftypmajor brandheiccompatiblemif1 · heic
~/items-and-properties

Each picture is an item. Properties are shared between them.

The ipco box stores each property once: a codec configuration, a size, a colour profile, a rotation. The ipma box is a table saying which item uses which. All 48 tiles point at the same codec setup and the same 512 × 512 size, so it is stored once, not 48 times. Click a cell to see what it means.

itemhvcCispecolrirotpixiauxCiref: points to
Grid (primary)item 1 · type grid·4032×3024P390°8-bit·dimg → 48 tiles
48 tilesitems 2-49 · hvc1 · hiddenshared512×512··8-bit·none (they are the source)
Thumbnailitem 50 · hvc1own320×240P390°8-bit·thmb → item 1
HDR gain mapitem 51 · hvc1own2016×1512·90°8-bitgain mapauxl → item 1
Exifitem 52 · Exif······cdsc → item 1
hvcC · 48 tilesHEVC decoder configuration: sharedProfile, level and the parameter sets (VPS, SPS, PPS) a decoder needs before it can read any tile. One copy is shared by every tile and another by the thumbnail.
dimgDerived image: the grid is assembled from these tiles, in row order.thmbThumbnail of: a smaller rendering of the item it points to.auxlAuxiliary for: alpha, depth or gain map belonging to that image.cdscContent describes: Exif or XMP metadata about the image.
~/inspect-a-heic

Open any HEIC, HEIF or AVIF and map every item inside it.

This page reads the box tree and the meta box itself. It lists every item, assigns each property through ipma, follows every iref link and draws the tile grid. It also locates each item’s bytes through iloc, which is how it pulls the EXIF out (GPS included) and measures what share of the file each part takes. HEVC tiles are not decoded here, because only Safari and some systems can. AVIF files usually display in any browser. Everything happens on your device. The sample is a real iPhone-style box layout built in your browser, with placeholder bytes where the HEVC data would go.

IMG_4402-sample.heic · 45.8 KBprimary grid · shade = bytes per tile
Your file as decoded by this browser
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
8 × 6 tiles of 512 × 512, from 425 B to 1.3 KB each. Brighter tiles needed more bytes, so they hold more detail or noise: skies and walls are cheap, foliage and text are not. Drawn as stored; displayed rotated, at 3024 × 4032.
Not decoded by this browser, and the primary image is not a grid, so there is nothing to draw. The structure below is complete.
file size45.8 KBprimary image share82.0%bits / pixel0.03items53boxes and meta3.0 KBthumb + aux + meta5.3 KB
What the boxes say
KindHEIC
Brandsheic · mif1, MiHE, MiPr, miaf, MiHB, heic
Primary item1 · grid · 8×6 grid
CodecHEVC Main, level 3 · 4:2:0 · 8-bit
Stored size4,032 × 3,024 px
Displayed size3,024 × 4,032 px
Rotation / mirrorirot 270°
ColourICC “Display P3”
Thumbnail320 × 240 px
Auxiliary imagesApple HDR gain map
MetadataEXIF + XMP
GPS51.50728, -0.12765
Browser decodenot decoded
infoThe photo is 8 × 6 tiles of 512 × 512, each an independent HEVC image. Together they cover 4096 × 3072, cropped to 4032 × 3024. Tiling keeps every coded picture within a low codec level, so phone hardware decoders can handle it. Tiles also decode in parallel, and you can zoom into one corner without decoding the rest.
infoirot 270°: the pixels are stored sideways and shown rotated 90° clockwise. In HEIF this property is the authority, and any EXIF orientation must be ignored.
infoHDR gain map (Apple’s auxiliary image, 2,016 × 1,512 px). HDR screens use it to brighten highlights beyond normal white, and other screens show the plain image. Converting to JPG keeps the HDR look only if the converter writes an Ultra HDR or ISO gain-map JPEG.
infoEXIF orientation 6 matches the irot rotation, as iPhones write it. A converter that applies irot and then copies orientation 6 into the JPG rotates the photo twice; good converters reset it to 1.
warningGPS 51.50728, -0.12765: the place the photo was taken travels with the file. iOS strips it when you turn off “Location” in the share sheet’s Options; most converters copy it.
infoThis sample holds placeholder bytes where the HEVC data would be, so no browser can display it. The box structure is what this page reads.
File map, to scaleboxes, and mdat split by the item each byte belongs to
Boxes and meta6.6% · 3.0 KBEXIF / XMP1.7% · 778 BPrimary image data82.0% · 37.6 KBThumbnail4.0% · 1.9 KBGain map, depth, alpha, mattes5.8% · 2.6 KB
Items53 items · primary 1
IDTypeRoleProperties (ipma)References (iref)Bytes
1gridPrimary image (grid)colr ICC Display P3 · ispe 4032×3024 · irot* 270° · pixi 8/8/8 bitdimg → 2-49 · ← thmb from 50 · ← cdsc from 51, 52 · ← auxl from 538 B
2hvc1Tile, row 1, column 1hvcC* Main 3 4:2:0 8-bit · ispe 512×512← dimg from 1425 B
3hvc1Tile, row 1, column 2hvcC* Main 3 4:2:0 8-bit · ispe 512×512← dimg from 1486 B
…hvc145 more tilessame properties as the tiles above← dimg from 135.4 KB
49hvc1Tile, row 6, column 8hvcC* Main 3 4:2:0 8-bit · ispe 512×512← dimg from 11.3 KB
50hvc1ThumbnailhvcC* Main 2 4:2:0 8-bit · ispe 320×240 · colr ICC Display P3 · irot* 270° · pixi 8/8/8 bitthmb → 11.9 KB
51ExifEXIF metadata · hidden-cdsc → 1544 B
52mimeapplication/rdf+xml (XMP) · hidden-cdsc → 1234 B
53hvc1Apple HDR gain map · hiddenhvcC* Main 3.1 4:2:0 8-bit · ispe 2016×1512 · auxC Apple HDR gain map · colr nclx 1/13/1auxl → 12.6 KB
An asterisk marks a property flagged essential: a reader that does not understand it must not show the item. Hidden items (tiles, gain maps, metadata) are never shown on their own. Byte counts come from iloc extents.
Property boxes (ipco)
#1hvcCHEVC Main, level 3 · 4:2:0 · 8-bit · no parameter sets · used by 48 items
#2ispe512 × 512 px · used by 48 items
#3colrICC profile “Display P3” · 192 B · used by 2 items
#4ispe4,032 × 3,024 px · used by 1 item
#5irotrotate 270° anticlockwise to display (90° clockwise) · used by 2 items
#6pixi3 channels · 8, 8, 8 bits · used by 2 items
#7hvcCHEVC Main, level 2 · 4:2:0 · 8-bit · no parameter sets · used by 1 item
#8ispe320 × 240 px · used by 1 item
#9hvcCHEVC Main, level 3.1 · 4:2:0 · 8-bit · no parameter sets · used by 1 item
#10ispe2,016 × 1,512 px · used by 1 item
#11auxC“urn:com:apple:photo:2020:aux:hdrgainmap” → Apple HDR gain map · used by 1 item
#12colrnclx · primaries 1 (BT.709 / sRGB) · transfer 13 (sRGB) · matrix 1 (BT.709) · full range · used by 1 item
Box tree
0ftyp major heic · mif1, MiHE, MiPr, miaf, MiHB, heic40 B
40meta3.0 KB
52hdlr handler pict33 B
85pitm primary item 114 B
99iloc 53 item locations864 B
963iinf 53 items1.1 KB
977infe21 B
998infe21 B
…infe 50 more1.0 KB
2,089infe21 B
2,110iref 5 references176 B
2,122dimg108 B
2,230thmb14 B
2,244cdsc14 B
2,258cdsc14 B
2,272auxl14 B
2,286iprp767 B
2,294ipco 12 properties481 B
2,302hvcC31 B
2,333ispe20 B
2,353colr204 B
2,557ispe20 B
2,577irot9 B
2,586pixi16 B
2,602hvcC31 B
2,633ispe20 B
2,653hvcC31 B
2,684ispe20 B
2,704auxC52 B
2,756colr19 B
2,775ipma property links for 51 items278 B
3,053idat inline data16 B
3,069mdat media data42.8 KB
EXIF, located through ilocitem 51
MakeApple
ModeliPhone 15 Pro
Software18.0.1
Taken2026:10:02 09:30:00 +01:00
LensiPhone 15 Pro back triple camera 6.765mm f/1.78
Exposure1/120 s · f/1.78 · ISO 64
Orientation6 (ignored: irot wins)
Pixel size4032 × 3024
GPS position51.50728, -0.12765
Byte orderMotorola (MM)
~/opens-or-not

Where a HEIC opens, and what to do where it doesn't.

Support depends on whether the device can decode HEVC, which is patent-licensed. Apple devices always can. Elsewhere it varies, so pick where you want to open the photo.

phone_iphoneiPhone, iPad, Maccheck_circleopens natively
phone_androidAndroid 10+check_circlemost phones
desktop_windowsWindows 11change_circleneeds an extension
laptop_chromebookChromebookchange_circleviewer only, recent models
languageChrome, Edge, Firefoxcancelwon’t display
publicSafaricheck_circledisplays it
mailEmail to otherschange_circledepends on their device
cloud_uploadWebsites and formscancelusually rejected
Windows 11: install the extensions, or convertWindows needs the “HEIF Image Extensions” and “HEVC Video Extensions” from the Microsoft Store; the HEVC one may cost a small fee. Converting avoids that.Convert to JPGarrow_forward
~/on-the-iphone

Two iPhone settings that decide what format you get.

You don't have to convert every photo by hand. One setting changes what the camera saves; the other converts automatically when photos leave the phone.

Settings › Camera › Formats
High EfficiencycheckMost Compatiblecheck
High Efficiency saves HEIC photos and HEVC video: about half the storage. Required for 4K at 60 fps and some ProRAW and spatial features.
Settings › Photos › Transfer to Mac or PC
AutomaticcheckKeep Originalscheck
Automatic converts HEIC to JPEG as photos are copied to a computer over a cable, so Windows can open them without extensions.
~/spec-sheet

HEIC, HEIF and their brands, for reference.

HEIF is the container, defined in ISO/IEC 23008-12. HEIC is HEIF holding HEVC-coded images. The brand in the ftyp box tells software which codec and profile it needs before it reads anything else.

Full nameHigh Efficiency Image File FormatHEIF is the container; HEIC names HEVC-coded HEIF files
Extensions.heic · .heif · .hif.heics for sequences; Canon cameras write .hif
MIME typesimage/heic · image/heifimage/heic-sequence and image/heif-sequence for bursts and animations
Apple UTIpublic.heic · public.heifUniform Type Identifiers on macOS and iOS
Magic bytes?? ?? ?? ?? 66 74 79 70“ftyp” at offset 4, then the brand at offset 8 (68 65 69 63 for heic)
ContainerISO/IEC 14496-12ISO base media file format, shared with MP4, MOV and AVIF
Image formatISO/IEC 23008-12MPEG-H Part 12; first edition 2017, second 2022
CodecHEVC · ITU-T H.265Usually the Main Still Picture or Main 10 profile
Byte orderbig-endianEvery box size and field, the opposite of ZIP and WAV
Grid limits256 × 256 tilesrows and columns are stored minus one in single bytes
Output size65,535 px, or 4 billion16-bit fields, or 32-bit when the grid’s flags bit is set
Also holdsalpha · depth · sequencesPlus HDR gain maps, bursts and derived overlays
brandmeaningextension
heicHEVC still images, Main or Main Still Picture profile.heic
heixHEVC stills with 10-bit or 4:2:2 / 4:4:4.heic
heimMultiview HEVC (MV-HEVC) stills.heic
heisScalable HEVC (SHVC) stills.heic
hevcHEVC image sequence.heics
mif1Generic HEIF image, any codec.heif
msf1Generic HEIF image sequence.heifs
avifAV1-coded HEIF image.avif
avisAV1-coded image sequence.avif
2013HEVC publishedITU-T H.265 and ISO/IEC 23008-2 define the codec that HEIC relies on.
2015HEIF finalisedMPEG completes the image file format, led by Nokia Technologies.
2017iPhone switchesiOS 11 makes HEIC the default camera format on iPhone 7 and later.
2018Windows and AndroidWindows 10 1803 adds HEIF extensions; Android 9 adds platform support.
2019AVIF arrivesThe same container with the royalty-free AV1 codec, aimed at the web.
2022Second editionISO/IEC 23008-12:2022 adds new derivations and region items.