Inspect
HEIC Inspector
See how a HEIC file is built: brands, codec profile, tiles, auxiliary images such as depth and HDR gain maps, and every item.
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
- Answers
- How is this file built, and what is hiding in it?
- Shows
- Brands, codec config, tiles, auxiliary images, item table
- Decoding
- Only when you press Run decode test
- Audience
- Developers, support staff and the curious
What this tool does
The photo you see is one item among several. A HEIC is a container of items (the main image, a thumbnail, tiles, a depth map, an HDR gain map, the Exif block) linked by references and described by properties. The Inspector lays that arrangement out. The Container section shows the major and compatible brands, each with what it means, and the order of the top-level boxes. Codec details give the HEVC profile, tier, level, chroma format, bit depth and NAL length field from the hvcC box (or the AV1 equivalent from av1C), plus the VPS, SPS and PPS parameter sets and whether each is flagged complete. A capability checklist then marks, yes or no, Exif, XMP, an ICC profile, an nclx colour description, alpha, depth or disparity, an HDR gain map, HDR light-level metadata, mattes, thumbnails, tiling, more than one image, rotation or mirroring, an image sequence, a Live Photo pairing ID, a burst ID and hidden items.
Photos from many cameras are stored as a grid of tiles. For those, the Inspector reads the grid descriptor, including descriptors stored in the idat box, and reports columns by rows, tile size, the output size and whether the tiles cover it. Auxiliary images get their own table with the item, the kind (depth, disparity, alpha, HDR gain map, portrait effects matte, semantic segmentation matte, thumbnail), which item it belongs to, its pixel size and its type URN. The full item table lists every item's ID, type, role, size, offset, storage method and pixel size, and a button on each row expands its property associations, marked essential or not and showing how many items share a property. The Live Photo ID is only an ID: the video clip is a separate file.
Nothing is decoded until you ask. The Decode test section has a button that decodes the primary image, with libheif in a worker for HEVC files and with the browser's own decoder for AVIF, and reports Decodes, Not tested (the browser has no AV1 decoder) or Failed with a reason. Parse warnings, such as a missing item or a damaged Exif block, are listed at the bottom. The HEIC File Checker page is the short version of this one, and the Structure Viewer shows the raw boxes without interpreting them.
How to use it
- 01
Choose a HEIC or HEIF file
The container is parsed without decoding. A file that is not a HEIF container is named for what it really is.
- 02
Read the Container section
The major brand is badged and each compatible brand has a one-line note. A brand the viewer does not know says so. Top-level boxes are listed in file order.
- 03
Check Codec details
Profile, level, chroma format and bit depth explain why a file may fail in older software, for example a 10-bit or 4:2:2 profile.
- 04
Scan the capability checklist
Present items are bold and ticked, absent ones greyed. If the file is tiled, a Grid structure section follows.
- 05
Open the auxiliary table and item table
Click the property count on an item row to see its property associations, such as ispe, hvcC, colr or auxC. Item references are in a collapsed list below.
- 06
Run the decode test if you need it
Press Run decode test to confirm the primary image decodes. Then read the Parse warnings.
When to use it
Working out what a conversion will drop
A JPG or PNG is rebuilt from the decoded primary image, so depth maps, HDR gain maps and mattes do not come along. The checklist shows which of those your file has before you convert it.
Telling an HDR gain-map photo from other HDR
A gain map is a separate auxiliary item (and sometimes a tone-map item). HDR light-level metadata (clli and mdcv) and a PQ or HLG transfer in the nclx colour description are different things, and the checklist and Codec details keep them apart.
Explaining why a file is large
The item table gives each item's size in bytes. A big depth map, a gain map, a full-size thumbnail or many tiles show up immediately.
Diagnosing an interoperability failure
A brand list with only generic brands, a HEVC profile an old decoder lacks, or an item type such as vvc1 or j2k1 instead of hvc1 usually explains why one program opens a file and another does not.
Good to know
- 01Auxiliary images are listed and measured, not displayed. To save them (depth maps, masks, gain maps, extra frames) use Extract Images from HEIC; for just the embedded thumbnail as a PNG, use the thumbnail extractor.
- 02Present on the checklist means the item or property exists, not that its data is well formed. The decode test covers the primary image only, so a damaged depth map or thumbnail will not show up there.
- 03An auxiliary kind comes from the type URN the file declares. A URN the viewer does not recognise, or a missing one, is listed as "Other auxiliary image", with the URN shown when there is one.
- 04Items with no data, or stored by reference to another item, are listed with that storage method but their bytes are not read. Only grid descriptors and metadata items are read from the container.
- 05Decoding is bounded by the size and pixel limits and by a time limit, so a very large image can come back as Failed with a resource reason rather than Decodes.
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
Last updated: . Something wrong or out of date? Tell us — corrections are recorded in the changelog.