Skip to content

HEIF (.heif)

.heif file signature | image/heif

Safe

Magic Bytes

Offset 4
66 74 79 70 6D 69 66 31

Sources: Apache Tika

Extension

.heif

MIME Type

image/heif

Byte Offset

4

Risk Level

Safe

Validation Code

How to validate .heif files in Python

Python
def is_heif(file_path: str) -> bool:
    """Check if file is a valid HEIF by magic bytes."""
    signature = bytes([0x66, 0x74, 0x79, 0x70, 0x6D, 0x69, 0x66, 0x31])
    with open(file_path, "rb") as f:
        return f.read(8) == signature

How to validate .heif files in Node.js

Node.js
function isHEIF(buffer: Buffer): boolean {
  const signature = Buffer.from([0x66, 0x74, 0x79, 0x70, 0x6D, 0x69, 0x66, 0x31]);
  return buffer.subarray(0, 8).equals(signature);
}

How to validate .heif files in Go

Go
func IsHEIF(data []byte) bool {
    signature := []byte{0x66, 0x74, 0x79, 0x70, 0x6D, 0x69, 0x66, 0x31}
    if len(data) < 8 {
        return false
    }
    return bytes.Equal(data[:8], signature)
}

API Endpoint

GET /api/v1/heif
curl https://filesignature.org/api/v1/heif

See the full API documentation for all endpoints and parameters.

Frequently Asked Questions

What is a .heif file?

A .heif file is a HEIF file.

What are the magic bytes for .heif files?

The magic bytes for HEIF files are 66 74 79 70 6D 69 66 31 at byte offset 4. These bytes uniquely identify the file format regardless of the file extension.

How do I validate a .heif file?

To validate a .heif file, read the first bytes of the file and compare them against the known magic bytes (66 74 79 70 6D 69 66 31) at offset 4. This is more reliable than checking the file extension alone, as extensions can be renamed.

What is the MIME type for .heif files?

The primary MIME type for .heif files is image/heif.

Is it safe to open .heif files?

HEIF (.heif) files are generally safe to open. They are classified as low risk because they primarily contain data rather than executable code. However, always ensure files come from a trusted source.