It is compulsory to understand what an ICC profile is in color management: it is the color ID of a device or a picture. ICC profiles are mainly used to display the "right" colors of a file. The ICC profile is created when calibrating a device. Two things are important and we'll take an example to explain them: during the calibration of a monitor, you want to know if it renders colors properly and how many of them it can display. All this information is gathered in ITS OWN ICC profile. Same for the pair printer/paper. Software managing these ICC profiles will thus use them to display or print colors correctly.
Key points if you are a beginner ...
Here are the key points to remember on ICC profiles. The rest of this page will be dedicated to those who want to go into more details.
What is an ICC profile ? An ICC profile is the color ID of a device. It contains two essential information :
the color space or gamut of this device, so all the colors it can display or print,
the color "defects" of this device. For example, reading the ICC profile of a monitor, Photoshop knows how to fix the colors so they are correctly displayed.
How to get an ICC profile of a device ? An ICC profile is obtained by calibrating the device. monitor is calibrated with a monitor calibration colorimeter, a printer with a spectrophotometer, etc ...
Is there a difference between a generic profile (delivered by your monitor manufacturer for instance) and a custom profile created by yourself or done by a distant service provider ?
Oh yes there is! Calibrate your monitor on your own, calibrate your printer yourself or have it done it if it is too expensive. The result has nothing to do with the one you get with a generic profile, even if, I agree, generic profiles have made much progress.
ICC profiles, calibration tools and conversion engines - CMM for Color Management Module - form the cornerstone of a good color management. For a color reproduction device to work properly, you must first know how it works by default. This is to take into account its possibilities and of course its characteristics, as seen in the previous pages. This is what we want to know during calibration. All these details will be contained in a specific file: an ICC profile. The only thing left, will now be to use it with the tools of color management to keep the same colors throughout your color workflow !
What is an ICC profile?
It is thus a short file linked to a color reproduction device. Each device, in color management, must have its own ICC profile. It contains many pieces of information about the colors of the device. It is also described as the color ID of a device.
It is a gamut AND a color ID
First of all, it is a color space (as seen in the previous page), but a bit specific because it depends on a device. This is a sort of color ID for an image or a color reproduction device, as we saw in the previous page, since it contains its color characteristics, including:
All the colors that can be reproduced by a device or contained in an image. In this sense, it is a color space and therefore a gamut. In other words: can this or that color be reproduced by this device?
But also to what L*a*b* color does each RGB color value correspond to. In other words: is the device reproducing colors correctly?
These matches (between RGB and Lab colors) are contained in a special table: a matches matrix table (in other words, an ICC profile). To an L*a*b* color seen by the camera corresponds another RGB value and then we know what R'G'B' values to send in order to display or print the color (meaning the L*a*b* color) you want.
So the more accurately the ICC profile creation program works, the more values will this table contain (rows and lines). However, the more accurately it will work and the more information will the table contain hence will the ICC profile be big. Theoretically, the matrix table would contaoin 8 million matches for the 8 million colors of the L*a*b* space.
But practically speaking, no device can "manage" eight million colors like the human eye and moreover, there's no real interest in analyzing all the colors that a device can see, display or print. One color from time to time is enough to create a good ICC profile! These are its color characteristics, in other words, its defects and the way to correct them!
An ICC profile is therefore directly linked to a device - unlike a pure color space. It is the color characteristic of a device measured by a given tool in known and precise calibration conditionds. As a matter of fact, the process of creating the profile is known as characterization. So the ICC profile created depends directly on this measurement tool, the profile creation program and of course the calibrated device.
The ICC profile depends on a device
There are two kinds of ICC profiles:
Either it is the ICC profile of an input device (camera, scanner,...), or either of an output device (printer etc..). Then on the one hand, it is the description of all L*a*b* colors it is able to reproduce hence to see - its Gamut - AND on the other hand, the transformation rules of the original file so that the colors can be transcribed or displayed correctly. The aim is to "eliminate" or correct distortions induced by the device.
Its Gamut is smaller than the L*a*b* space and is therefore contained in it. But while the L*a*b* space is absolute because it does not depend on a device, the space of a device corresponds to the results of a measurement and therefore depends directly on the quality of it. We saw on the previous page that a same RGB (x, x, x) value does not give a neutral grey without calibration.
A color space is just a gamut and an ICC profile is a gamut AND color characteristics proper of a given device.
The big difference lies into depending or not on a device.
Does an image contain a profile or a space?
An image, when it leaves the camera, contains the profile of this camera but it is instantly and automatically converted into a neutral color space. If you're shooting in JPEG, you have two possibilities: sRGB and Adobe RGB 98, and if you're shooting in RAW, you often have ProPhoto (very broad) in addition. I explain it all in this page.
Difference between an ICC profile and a color space
Well there is not really ! These are two different aspects of the same thing which may, however, contain more or less information. It's a bit like a cylinder : either you look from the top and you say that it is a circle, or you look at from the side and you say it is a rectangle !
We choose to talk about color space when it comes to workspace - which must be balanced (neutral) - and talk about ICC profile when you want to signify the gamut AND the "deformations" of a given device measured during its calibration, that is to say its characteristics. A color space is only a gamut, and, an ICC profile is a gamut AND color characteristics specific to a given device.
The biggest difference stands in the dependence or independence to a device.
To sum up, what is an ICC profile used for?
It is used to render a right vision of colors for each device. Without a profile, a color reproduction device reproduces them with more or less defects and once "profiled" or calibrated, it will render them correctly as if by magic! An ICC profile enables any device to recover a visual acuity!
Let's take the calibration of a scanner as an example, because it speaks for itself. When you watch the raw scan in Photoshop, without an ICC profile, you can see that the image is far from the original. In our example, the scan looks greenish. The creation of the ICC profile of the scanner and its assignment at the opening of the photo in the same program enables, as if by magic, to recover the true colors of the original.
The scanner "sees" the colors a bit green but once calibrated, you just have to assign THIS scanner's ICC profile to the image it produced and everything goes back to order.
What happens concretely? Thanks to this device's ICC profile, a program like Photoshop knows that when the image file contains an RGB value, like for instance 128, 140, 128, hence with a predominant G value (hence the greenish aspect), the scanner scanned a neutral grey all the same (128, 128, 128) and it should have the RGB value 128,128,128 and thus display a neutral grey. Well Photoshop is going to read the matricial table of this scanner's ICC profile and it then knows that when it must display the RGB value 128,140,128 it needs to display the La*b* color 54,0,0 instead (equivalent in RGB to 128,128,128) and it will then send to the screen a corrected RGB signal like maybe 128, 116, 128 to take the defaults of the scanner in the greens into account in this example.
An ICC profile is thus used to display the "real" colors of the image without taking RGB values that are "really" read into account. An RGB value of 128, 140, 128 will thus still be displayed as a medium grey and not as a greenish grey here.
Even if the difference between the ideal result and reality was particularly impressive at the time when scanners were widely used, it is now true, at the time of "all digital" since the shooting, that external devices WITHOUT calibration are a lot less far-off from true colors.
To be remembered!
An ICC profile is the color ID of a device! The ICC profile contains the gamut (the whole set of colors of a device in comparison to the L*a*b* space) and its "defects" of color (it's an image!).
It gives back its "eyesight" to any device: monitor, printer, camera, scanner.
An ICC profile is created during the calibration of a device. So, when you are printing a photo on a calibrated printer, the color management program that Photoshop is is going to read the printer's ICC profile in order to know what RGB values it must send taking its characteristics - what I'm calling defects - into account. Without an ICC profile, it would have sent other RGB values and the print wouldn't have looked good.
So no ICC profiles, no color management!
The processes of creation of ICC profiles and the rules of ICC profiles management will be seen in other parts of this color management guide. In the next page especially, we will go into the notions of ICC profiles assignment: assign an ICC profile
This site is entirely free of charge and yet almost free of commercial ads. Why? Well because they're ugly! So apart from this banner, you won't find any other commercial spaces. But you have to admit that advertising is pretty profitable and that it enables many websites to keep on living.
So I asked myself the question: what can I do since this website can only continue its growth generating regular incomes, like all other websites. How can I keep on giving access to all this information for free, which I've historically been doing since April 2002 (in french)?
Well thanks to affiliate programs. Meaning that every time you click links from this site towards my partners', Amazon.com, B&H, etc, they know you're referred by me and give me a small percentage on the sale. It doesn't cost you anything! Everyone wins: you, them, me. And also, feel free to contribute here: