UnHEIClocal image lab

File truth before conversion

Identify an image by its bytes, not its filename

Inspect a bounded header and trailer locally. UnHeic reports the detected format, container and brand, magic bytes, safe dimensions, animation or multi-image evidence, and any MIME or extension mismatch. Ambiguous files stay unknown.

Binary inspection · no conversion

Drop a file or choose one locally

The inspector reads at most 64 KiB from the start and, for larger files, 8 KiB from the end. It never decodes pixels or uploads file bytes.

How the format detector works

  1. 1. Choose any local file. The file picker does not trust or restrict the extension.
  2. 2. Read a fixed byte budget. At most 64 KiB from the start and 8 KiB from the end are read. No pixel buffer is created.
  3. 3. Validate structure. Parsers bound chunk sizes, offsets, directory counts, dimensions, and loops before reading fields.
  4. 4. Compare claims with evidence. MIME and extension mismatches are warnings; they never override the signature.

Continue checking the file

Frequently asked questions

How do I check what format an image file really is?

Select the file here. The inspector reads a bounded range of the raw bytes and matches the signature, so the answer comes from the file contents rather than its name. A photo renamed to .jpg is still reported as the format its bytes describe.

Why does the detected format differ from the file extension?

An extension is only a claim that anyone can edit. Files are frequently renamed, saved by a tool that ignored the real encoding, or downloaded with a generic name. When the signature and the extension disagree, the signature wins and a mismatch warning is shown.

Can it tell HEIC, HEIF, and AVIF apart?

Yes. All three share the ISO BMFF container, so the container and the brand are reported as separate fields. That distinction matters because an AVIF item will not decode in a HEIC workflow even though the outer container looks similar.

What does an unknown result mean?

Unknown means the bounded evidence did not prove a supported format. The file may be truncated, an unsupported type, or structured so the identifying bytes fall outside the inspected ranges. The tool deliberately reports unknown instead of guessing from the extension.

Is the file uploaded to identify it?

No. At most 64 KiB from the start and 8 KiB from the end are read inside this browser tab, no pixels are decoded, and the site has no file-upload endpoint. Nothing about the file name or contents is sent anywhere.

Does this check whether a file is safe?

No. This is a format identifier, not a malware scanner or a full decoder-validation pass. It can reveal that a file is not what it claims to be, which is useful context, but a clean result is not a security guarantee.