Skip to content

MacOS icon file magic bytes (.icns)

.icns file signature: 69 63 6E 73 | image/icns

Category: Images

Mac OS Icon Image (ICNS) is an icon resource file format created and maintained by Apple for macOS. It is used to store application, file, folder, and system icons at multiple resolutions and color depths for display in Finder, Dock, and app bundles. The format is longstanding and generally safe, though malformed icon files may trigger parsing issues in older software.

Safe

Magic Bytes

Offset 0
69 63 6E 73

Sources: Apache Tika, Wikipedia, Gary Kessler

Validation Code

How to validate .icns files in Python

Python
def is_icns(file_path: str) -> bool:
    """Check if file is a valid ICNS by magic bytes."""
    signature = bytes([0x69, 0x63, 0x6E, 0x73])
    with open(file_path, "rb") as f:
        return f.read(4) == signature

How to validate .icns files in Node.js

Node.js
function isICNS(buffer: Buffer): boolean {
  const signature = Buffer.from([0x69, 0x63, 0x6E, 0x73]);
  return buffer.subarray(0, 4).equals(signature);
}

How to validate .icns files in Go

Go
func IsICNS(data []byte) bool {
    signature := []byte{0x69, 0x63, 0x6E, 0x73}
    if len(data) < 4 {
        return false
    }
    return bytes.Equal(data[:4], signature)
}

API Endpoint

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

See the full API documentation for all endpoints and parameters.

Frequently Asked Questions

What is a .icns file?

A .icns file is a MacOS icon file. Mac OS Icon Image (ICNS) is an icon resource file format created and maintained by Apple for macOS. It is used to store application, file, folder, and system icons at multiple resolutions and color depths for display in Finder, Dock, and app bundles. The format is longstanding and generally safe, though malformed icon files may trigger parsing issues in older software.

What are the magic bytes for .icns files?

The magic bytes for MacOS icon file (.icns) files are 69 63 6E 73 at byte offset 0. These bytes identify the file format more reliably than the extension alone.

How do I validate a .icns file?

To validate a .icns file, read the first bytes of the file and compare them against the known magic bytes (69 63 6E 73) at offset 0. This is more reliable than checking the file extension alone, as extensions can be renamed.

What is the MIME type for .icns files?

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

Is it safe to open .icns files?

MacOS icon file (.icns) 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.