ICM

application/vnd.iccprofile

Safe

Magic Bytes

Offset: 36
61 63 73 70

The Image Color Matching (ICM) file is a standard color profile format defined by the International Color Consortium to characterize the color attributes of input, output, or display devices. These profiles ensure consistent color reproduction across photography workflows, printing systems, and monitors by mapping device-dependent color values to a standard color space. While functionally identical to the ICC extension, the ICM designation was historically favored by Windows operating systems, though modern software accepts both interchangeably without security risks.

Extension

.icm

MIME Type

application/vnd.iccprofile

Byte Offset

36

Risk Level

Safe

Validation Code

How to validate .icm files in Python

Python
def is_icm(file_path: str) -> bool:
    """
    Check if file is a valid ICM 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 .icm files in Node.js

Node.js
function isICM(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 IsICM(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/icm
curl https://filesignature.org/api/v1/icm

Related Formats