Skip to content
heic.fyi

Advanced

HEIF Structure Viewer

A HEIC file is a tree of boxes. See each box's type, size and byte offset, with meta, iinf, iref and iprp expanded.

Input

Drop HEIC or HEIF files here

or choose them from your device

HEIC or HEIF · up to 100 MB per file · processed on your device

At a glance

Shows
Each box's type, size, byte offset and child count
Expands
meta, iinf, iref, iprp and ipco; all else is a leaf
Bounds
4 levels deep, about 2,000 boxes
Not shown
Box contents: no codec, no dimensions, no tags

What this tool does

This is the bare container: a HEIC file is a tree of boxes, each with a four-character type, a size and a position. The viewer lists them in file order with the type, the size, the byte offset from the start of the file and, where it expands a box, the number of children. At the top level you will normally see ftyp (the brands), meta (everything that describes the images) and mdat (the coded data). Inside meta, the tree shows hdlr, pitm, iinf with one infe box per item, iloc, iref with one entry per relationship (thmb, auxl, cdsc, dimg) and iprp, whose ipco child lists every property box such as ispe, colr, pixi, hvcC and auxC.

It is intentionally literal. Only meta, iinf, iref, iprp and ipco are expanded, because those are lists of boxes the viewer can parse exactly, and everything else is a leaf. The tree is always fully expanded and scrolls inside its panel. It reports what sits where, not what the values mean. A box's offset is the position of its header, so you can jump to it in a hex editor. For the values (the codec profile, the item sizes and storage, the property associations), the HEIC Inspector reads the same container and interprets it.

Two details make the view useful for debugging. The tree reflects the file as written, so you can compare a working file against one that fails and see a missing box, an unexpected order or an unusual brand. And a box whose declared size runs past the end of the file is not listed at all, so a truncated file shows up as a missing mdat, with no warning unless ftyp or meta is also missing. Files that are not HEIC, HEIF or AVIF are not drawn as a tree. You get a notice saying what the file really is.

How to use it

  1. 01

    Choose a HEIC or HEIF file

    The tree appears right away. An AVIF file dropped onto the page is read too. Other formats get a notice instead.

  2. 02

    Read the summary

    File name, size, detected format (as a MIME type), container brand and the number of top-level boxes. A warning appears if ftyp or meta is missing.

  3. 03

    Scan the top-level boxes

    ftyp first, then meta and mdat. Each line shows size and offset, so you can see how the file is laid out and how large each part is.

  4. 04

    Follow the meta subtree

    Count the infe lines under iinf to see how many items the file has. Look at the iref children to see which items are thumbnails, auxiliary images, metadata or tiles.

  5. 05

    Look at iprp and ipco

    Property boxes such as ispe, colr, pixi, hvcC and auxC are listed with their sizes. Which item each one applies to is recorded in ipma, which this view does not decode, so use the Inspector for that.

When to use it

Comparing a file that works with one that does not

Run both and compare the top-level order, the brand and the box sizes. A missing meta or mdat, or a brand the other file does not have, is often the whole story.

Counting what is inside

The number of infe boxes is the number of items: images, thumbnails, tiles, depth maps, Exif and XMP. That is why it is larger than the "Images inside" figure on the File Checker page, which counts only the images a viewer would show.

Spotting truncation

A transfer that stopped early typically leaves ftyp and meta intact and loses mdat. The tree shows exactly that, which is a fast check before you reach for the repair tool.

Learning the format

Seeing a real tree is the quickest way to understand how items, references and properties fit together, and the offsets let you check your understanding in a hex editor.

Good to know

  • 01It shows structure only. There is no value for any box: not the codec, the dimensions, the tags or where an item's bytes are. Use the Inspector for those.
  • 02Only meta, iinf, iref, iprp and ipco are expanded. iloc, ipma, mdat and everything else, including a movie box in an image sequence, are leaves.
  • 03The tree stops at four levels and about 2,000 boxes, and reads at most 256 boxes per level, so very large or awkward containers are shown in part.
  • 04A box that declares a size past the end of the file, or a size too small for its header, ends the listing at that point without a message. Do not take a missing box as proof the file never had one.
  • 05It reads HEIC, HEIF and AVIF containers only. An MP4, a MOV or a JPEG is identified and named, not drawn as a tree. Nothing can be edited here.

Technical notes

Privacy and limits

Your file stays on your device

This tool runs in your browser with WebAssembly. The file is read into the tab, processed there and discarded when you close it — there is no upload and no account. You can check this yourself in your browser's network panel, and the privacy page lists what analytics does and does not receive.

Limits and checks

Up to 100 MB and 100 megapixels per file; batches of up to 50 files and 500 MB. Files are treated as untrusted input and every output is re-opened and validated before it is offered — see how we handle untrusted files.

Frequently asked questions

Related tools and reading

Further reading

Last updated: . Something wrong or out of date? Tell us — corrections are recorded in the changelog.