ICC

application/vnd.iccprofile

Safe

Magic Bytes

Offset: 36
61 63 73 70

The ICC profile format constitutes a standardized data set used to characterize the color attributes of input and output devices, maintained by the International Color Consortium. It is the fundamental standard for color management workflows, ensuring visual consistency across scanners, monitors, printers, and professional imaging software. As a passive binary format containing lookup tables and parametric data, it is generally considered safe but is integral to system-level color processing operations.

Extension

.icc

MIME Type

application/vnd.iccprofile

Byte Offset

36

Risk Level

Safe

Validation Code

How to validate .icc files in Python

Python
def is_icc(file_path: str) -> bool:
    """
    Check if file is a valid ICC by magic bytes.
    Signature offset: 36 bytes
    """
    signature = bytes([0x61, 0x63, 0x73, 0x70])
    with open(file_path, "rb") as f:
        f.seek(36)
        return f.read(4) == signature

How to validate .icc files in Node.js

Node.js
function isICC(buffer: Buffer): boolean {
  // Signature offset: 36 bytes
  const signature = Buffer.from([0x61, 0x63, 0x73, 0x70]);
  if (buffer.length < 40) return false;
  return buffer.subarray(36, 40).equals(signature);
}
Go
func IsICC(data []byte) bool {
    // Signature offset: 36 bytes
    signature := []byte{0x61, 0x63, 0x73, 0x70}
    if len(data) < 40 {
        return false
    }
    return bytes.Equal(data[36:40], signature)
}

API Endpoint

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

Related Formats