What is the ICM file format?
.icm files are Windows color profiles used by the Image Color Matching (ICM) subsystem, part of the Windows Color System (WCS). They describe the color characteristics of a specific device - display monitor, printer, scanner, or camera - so the operating system can accurately translate colors when content moves between devices with different color gamuts.
An .icm file is technically identical to an .icc color profile. Both share the same binary ICC specification published by the International Color Consortium; the only difference is naming convention: Windows uses .icm, while macOS (ColorSync) and Linux (colord) use .icc. The format consists of a fixed 128-byte binary header followed by a tag table and tag data elements encoding the device's white point, tone response curves, and gamut boundaries.
The header includes a profile class field (input, display, output, DeviceLink, ColorSpace, Abstract, or Named Color) and color space identifiers (RGB, CMYK, Lab, XYZ, grayscale, and others). A 4-byte acsp signature appears at byte offset 36 to identify the file as an ICC profile. An optional MD5 Profile ID at header bytes 84-99 (ICC v4) allows integrity verification.
On Windows, installed profiles are stored in C:\Windows\System32\spool\drivers\color\. On macOS, profiles reside in /Library/ColorSync/Profiles/.
Security & safety
RISK: LOWICM/ICC profiles are binary data files used by the OS color management subsystem. They contain no executable code. Malformed profiles can theoretically crash a color management engine but no known exploits. Download profiles only from device manufacturers or trusted calibration vendors.
Format details
in a nutshell- ICC Profile (.icc) - Identical binary format; .icc is the extension used on macOS, Linux, and cross-platform contexts - Windows uses .icm for the same file.
Programs that open ICM files
Technical details
deep spec| Encoding | Binary (ICC profile binary structure) |
| Byte order | Big-endian |
| File signature | 4-byte 'acsp' at byte offset 36 (not offset 0); bytes 0-3 store profile size as uint32 big-endian |
| Header size | Fixed 128-byte header: profile size, CMM type, version, class, color spaces, PCS, date, 'acsp' signature, platform, flags, white point, rendering intent, creator |
| Profile version field | Bytes 8-11 (major.minor): 0x04400000 = v4.4; ICC v2 and v4 both in widespread use |
| Integrity field | Optional MD5 Profile ID at header bytes 84-99 (ICC v4); commonly left zero |
| Profile classes | Input (scanner/camera), Display (monitor), Output (printer), DeviceLink, ColorSpace, Abstract, Named Color |
| Supported color spaces | RGB, CMYK, Lab, XYZ, grayscale, YCbCr, and others |
| Windows storage path | C:\Windows\System32\spool\drivers\color\ |
| macOS storage path | /Library/ColorSync/Profiles/ or ~/Library/ColorSync/Profiles/ |
| Relationship to .icc | Identical binary format - .icm is the Windows naming convention; .icc is used on macOS, Linux, and embedded devices |
| MIME type | application/vnd.iccprofile |
| Typical file size | 1 KB - 5 MB (device-link profiles can be larger) |
| Released | 1993 (ICC founded); Windows ICM since Windows 95 (1995) |
| Latest version | ICC.1:2022 (version 4.4) |
| Open standard | Yes · royalty-free |
| Specification | www.color.org |
ICM conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about ICM files.