ICC
application/vnd.iccprofile
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.
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