What Is an ICC Color Profile?
An ICC color profile is a small file embedded in an image (or installed on your system) that describes how colors should be interpreted. It's defined by the International Color Consortium (ICC), and it exists to solve a fundamental problem: the same RGB values look different on different devices.
A pixel with the value R:200 G:50 B:50 will appear as a different shade of red on your laptop screen, your phone, your desktop monitor, and a printed page. An ICC profile tells the system exactly what that red means (its precise position in a device-independent color space) so it can be translated accurately between devices.
How ICC Profiles Work
Every ICC profile maps between a device-dependent color space (like the RGB your camera captures or the CMYK your printer uses) and a device-independent color space called the Profile Connection Space (PCS). The PCS is usually CIE Lab or CIE XYZ, which are mathematical models of human color perception.
When you view an image, the color management system reads the embedded profile, converts the pixel values to PCS, then converts from PCS to your display's profile. This two-step translation is what makes colors look consistent across devices.
What's Inside an ICC Profile
An ICC profile is a binary file containing:
- Header: color space (RGB, CMYK, Grayscale), profile version (v2 or v4), device class (display, printer, scanner), and rendering intent
- Tag table: a directory of data blocks within the profile
- Tag data: the actual color data, including tone curves, matrices, lookup tables (LUTs), white point, and descriptive text
Simple profiles (like sRGB) use a 3x3 matrix and gamma curves to map colors. Complex profiles (like those for CMYK printers) use multi-dimensional lookup tables that map millions of color values.
Common ICC Profiles
| Profile | Color Space | Typical Use |
|---|---|---|
| sRGB IEC61966-2.1 | RGB | Web, consumer displays, default for most cameras |
| Adobe RGB (1998) | RGB | Photography, wider gamut than sRGB |
| Display P3 | RGB | Modern Apple devices, HDR content |
| ProPhoto RGB | RGB | Professional photo editing, very wide gamut |
| FOGRA39 (Coated) | CMYK | European offset printing on coated paper |
| GRACoL 2006 | CMYK | North American commercial printing |
| SWOP | CMYK | US web offset printing |
What Happens Without a Profile
When an image has no embedded ICC profile, the color management system has to guess. Most software assumes sRGB, which is usually fine for web images but can cause problems:
- An Adobe RGB image displayed as sRGB will look desaturated, with colors appearing washed out
- A CMYK image without a profile may render with completely wrong colors
- A Display P3 image treated as sRGB will have its wider gamut clipped
This is why print shops insist on embedded profiles. Without one, they can't reproduce your intended colors.
v2 vs v4 Profiles
ICC profiles come in two major versions:
- v2 (ICC.1:2001): widely supported everywhere. sRGB and Adobe RGB are v2 profiles. If compatibility matters, use v2.
- v4 (ICC.1:2004): adds features like a profile ID hash and improved text handling. Better technically, but some older applications and browsers handle v4 profiles incorrectly.
For web images, v2 profiles are safer. For print workflows where you control the software, v4 is fine.
Rendering Intents
Every ICC profile includes a rendering intent that controls what happens when a color exists in the source gamut but not the destination gamut (out-of-gamut colors):
- Perceptual: compresses the entire source gamut to fit the destination. Maintains relationships between colors. Best for photographs.
- Relative Colorimetric: maps colors that fit directly and clips those that don't. Adjusts for white point difference. Most common for proofing.
- Saturation: prioritizes vivid colors over accuracy. Useful for charts and graphics.
- Absolute Colorimetric: like relative, but doesn't adjust for white point. Used for simulating one output device on another.
How to Check an Image's ICC Profile
You can inspect the ICC profile embedded in any image using our free browser-based tool. It shows the color space, version, rendering intent, gamut visualization, and every tag in the profile. No file uploads required.