Skip to content

ICM (.icm)

.icm file signature | application/vnd.iccprofile

ICM is an International Color Consortium color profile file format maintained by the ICC and used by operating systems and color management software to describe how a device reproduces color. It is used to ensure consistent color rendering in printers, displays, scanners, digital imaging workflows, and publishing applications. The format is generally safe and has long been supported on Windows; it is not considered a legacy format, though malformed profiles can affect color handling.

Safe

Magic Bytes

Offset 36
61 63 73 70

Sources: Apache Tika

All Known Signatures

2 signature variants are documented for .icm files across multiple sources.

Hex Signature Offset Sources
61 63 73 70 36 Apache Tika
4B 43 4D 53 0 Wikipedia

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 at offset 36."""
    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 {
  const signature = Buffer.from([0x61, 0x63, 0x73, 0x70]);
  if (buffer.length < 40) return false;
  return buffer.subarray(36, 40).equals(signature);
}

How to validate .icm files in Go

Go
func IsICM(data []byte) bool {
    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

See the full API documentation for all endpoints and parameters.

Related Formats

Frequently Asked Questions

What is a .icm file?

A .icm file is identified by the magic bytes 61 63 73 70 at byte offset 36. ICM is an International Color Consortium color profile file format maintained by the ICC and used by operating systems and color management software to describe how a device reproduces color. It is used to ensure consistent color rendering in printers, displays, scanners, digital imaging workflows, and publishing applications. The format is generally safe and has long been supported on Windows; it is not considered a legacy format, though malformed profiles can affect color handling.

What are the magic bytes for .icm files?

The magic bytes for ICM files are 61 63 73 70 at byte offset 36. These bytes uniquely identify the file format regardless of the file extension.

How do I validate a .icm file?

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

What is the MIME type for .icm files?

The primary MIME type for .icm files is application/vnd.iccprofile.

Is it safe to open .icm files?

ICM (.icm) 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.