Color management is the process of ensuring consistent and accurate colors across various devices, such asmonitors,printers, andcameras. It involves the use of color profiles, which are standardized descriptions of how colors should be displayed or reproduced.
Color management is necessary because different devices have different color capabilities and characteristics. For example, a monitor may display colors differently than a printer can reproduce them. Without color management, the same image may appear differently on different devices, leading to inconsistencies and inaccuracies.
To achieve color management, a color profile is created for each device involved in the color workflow. This profile describes the device's color capabilities and characteristics, such as its color gamut (range of colors it can display or reproduce) and color temperature. These profiles are then used to translate colors between devices, ensuring consistent and accurate color reproduction.
Color management is particularly important in industries such as graphic design, photography, and printing, where accurate color representation is crucial. It helps to maintain color consistency throughout the entire workflow, from capturing an image to displaying or printing it.
Parts of color management are implemented in theoperating system (OS), helper libraries, the application, and devices. The type of color profile that is typically used is called anICC profile. A cross-platform view of color management is the use of an ICC-compatible color management system. TheInternational Color Consortium (ICC) is an industry consortium that has defined:
There are other approaches to color management besides using ICC profiles. This is partly due to history and partly because of other needs than the ICC standard covers. The film and broadcasting industries make use of some of the same concepts, but they frequently rely on more limited boutique solutions. The film industry, for instance, often uses3D LUTs (lookup table) to represent a complete color transformation for a specific RGB encoding.
At the consumer level, system wide color management is available in most of Apple's products (macOS, iOS, iPadOS, watchOS).[2] Microsoft Windows lacks system wide color management and virtually all applications do not employ color management.[3] Windows' media player API is not color space aware, and if applications want to color manage videos manually, they have to incur significant performance and power consumption penalties. Android supports system wide color management,[4] but most devices ship with color management disabled.[5]
This sectiondoes notcite anysources. Please helpimprove this section byadding citations to reliable sources. Unsourced material may be challenged andremoved.(May 2025) (Learn how and when to remove this message) |
To describe the behavior of various output devices, they must be compared (measured) in relation to a standardcolor space. Often a step called linearization is performed first, to undo the effect ofgamma correction that was done to get the most out of limited8-bit color paths. Instruments used for measuring device colors includecolorimeters andspectrophotometers. As an intermediate result, the devicegamut is described in the form of scattered measurement data. The transformation of the scattered measurement data into a more regular form, usable by the application, is calledprofiling. Profiling is a complex process involving mathematics, intense computation, judgment, testing, and iteration. After the profiling is finished, an idealized color description of the device is created. This description is called aprofile.
Calibration is like characterization, except that it can include the adjustment of the device, as opposed to just the measurement of the device. Color management is sometimes sidestepped by calibrating devices to a common standard color space such assRGB; when such calibration is done well enough, no color translations are needed to get all devices to handle colors consistently. This avoidance of the complexity of color management was one of the goals in the development of sRGB.

Image formats themselves (such asTIFF,JPEG,PNG,EPS,PDF, andSVG) may contain embeddedcolor profiles but are not required to do so by the image format. TheInternational Color Consortium standard was created to bring various developers and manufacturers together. The ICC standard permits the exchange of output device characteristics and color spaces in the form ofmetadata. This allows the embedding of color profiles into images as well as storing them in a database or a profile directory.
Working spaces, such assRGB,Adobe RGB orProPhoto are color spaces that facilitate good results while editing. For instance, pixels with equal values of R,G,B should appear neutral. Using a large (gamut) working space will lead toposterization, while using a small working space will lead toclipping.[7] This trade-off is a consideration for the critical image editor.
Color transformation, or color space conversion, is the transformation of the representation of a color from onecolor space to another. This calculation is required whenever data is exchanged inside a color-managed chain and carried out by aColor Matching Module. Transforming profiled color information to different output devices is achieved by referencing the profile data into a standard color space. It makes it easier to convert colors from one device to a selected standard color space and from that to the colors of another device. By ensuring that the reference color space covers the many possible colors that humans can see, this concept allows one to exchange colors between many different color output devices. Color transformations can be represented by two profiles (source profile and target profile) or by a devicelink profile. In this process there are approximations involved which make sure that the image keeps its important color qualities and also gives an opportunity to control on how the colors are being changed.[8]
In the terminology of theInternational Color Consortium, a translation between two color spaces can go through aprofile connection space (PCS): Color Space 1 → PCS (CIELAB orCIEXYZ) → Color space 2; conversions into and out of the PCS are each specified by a profile.[9]
In nearly every translation process, we have to deal with the fact that the colorgamut of different devices vary in range which makes an accurate reproduction impossible.[8] They therefore need some rearrangement near the borders of the gamut. Some colors must be shifted to the inside of the gamut, as they otherwise cannot be represented on the output device and would simply be clipped. This so-called gamut mismatch occurs for example, when we translate from the RGB color space with a wider gamut into the CMYK color space with a narrower gamut range. In this example, the dark highly saturated purplish-blue color of a typical computer monitor's "blue" primary is impossible to print on paper with a typicalCMYK printer. The nearest approximation within the printer's gamut will be much less saturated. Conversely, an inkjet printer's "cyan" primary, a saturated mid-brightness blue, is outside the gamut of a typical computer monitor. The color management system can utilize various methods to achieve desired results and give experienced users control of the gamut mapping behavior.
When the gamut of source color space exceeds that of the destination, saturated colors are liable to becomeclipped (inaccurately represented), or more formallyburned. The color management module can deal with this problem in several ways. The ICC specification includes four different rendering intents, listed below.[9][10][11] Before the actual rendering intent is carried out, one can temporarily simulate the rendering bysoft proofing.[12] It is a useful tool as it predicts the outcome of the colors and is available as an application in many color management systems:
In practice, photographers almost always use relative or perceptual intent, as for natural images, absolute causescolor cast, while saturation produces unnatural colors. If an entire image is in-gamut, relative is perfect, but when there are out of gamut colors, which is preferable depends on a case-by-case basis. CMMs may offer options for BPC and partial chromatic adaptation.[13]
A black point correction (BPC) is not applied for absolute colorimetric or devicelink profiles. For ICCv4, it is always applied to the perceptual intent.[14]: 17 ICCv2 sRGB profiles differ among each other in a number of ways, one of which being whether BPC is applied.[13]
Color matching module (also -method or -system) is a software algorithm that adjusts the numerical values that get sent to or received from different devices so that the perceived color they produce remains consistent. The key issue here is how to deal with a color that cannot be reproduced on a certain device in order to show it through a different device as if it were visually the same color, just as when the reproducible color range between color transparencies and printed matters are different. There is no common method for this process, and the performance depends on the capability of each color matching method.
Some well known CMMs areColorSync, Adobe CMM,Little CMS, and ArgyllCMS.

Apple'sclassic Mac OS andmacOS operating systems have provided OS-level color management APIs since 1993, throughColorSync. macOS has added automatic color management (assumingsRGB andDCI-P3 for most things[15]) automatically in the OS, but applications can explicitly target other color spaces if they wish to. System wide color management is used in iOS, iPadOS and watchOS as well.[16]
Since 1997 color management in Windows is available through an ICC color management system: ICM (Image Color Management).
Beginning withWindows Vista,Microsoft introduced a new color architecture known as WCS (Windows Color System).[17] WCS supplements the ICM system inWindows 2000 andWindows XP, originally written byHeidelberg.[18][19]
Apps need to be aware of color management and tag the content appropriately to accurately display colors. Otherwise, (unlike macOS) Windows will display the colors to the maximum extent of the display's gamut, resulting in over-saturated colors on wide-gamut displays.[20] To fix this issue, Microsoft includes a new feature called "Auto Color Management" since Windows 11 2022.[21]
Windows Photo Viewer from Windows 7 (also included in later Windows versions) performs proper color management, however, the newerWindows Photos app in Windows 8, 10, 11 does not perform color management[22][23][24] until version v2022.31070.26005.0.[25] Other Windows components, includingMicrosoft Paint,Snipping Tool,Windows Desktop,Windows Explorer, do not perform color management.[26]
Unfortunately, the vast majority of applications do not use the Windows Color System.[3] For applications that do employ color management (typicallyweb browsers), color management tend to apply for only images and UI, but not videos. This is because Windows' media playerAPI is not color space aware. Thus, browsers (Chrome,Firefox,Edge) are only able to do color management for images but not video.[27] For the same reason, virtually no video players on Windows support color management (including the default Movies & TV app andVLC), withMedia Player Classic Home Cinema being a rare exception.[28][29][failed verification]
Windows 10 1607 have supports forhigh dynamic range.[30]
Windows 11 22H2 have supports for Auto Color Management (ACM) which further optimized forOLED monitors.[31]
On Android, system wide color management is introduced inAndroid Oreo 8.1.[4] However, most Android phones are shipped with color management disabled (ex: 'adaptive' color profile onGoogle Pixel, 'vivid' color profile onSamsung Galaxy[32]). This oversaturatessRGB content to the native display gamut, typicallyDCI-P3. Users need to manually select the 'natural' color profile to enable color management, enabling accurate display of sRGB and P3 wide color content.
Operating systems that use theX Window System for graphics can useICC profiles, and support forcolor management on Linux, still less mature than on other platforms, is coordinated through OpenICC atfreedesktop.org and makes use ofLittleCMS.
Certain image filetypes (TIFF andPhotoshop) include the notion ofcolor channels for specifying thecolor mode of the file. The most commonly used channels areRGB (mainly for display (monitors) but also for some desktop printing) andCMYK (for commercial printing). An additionalalpha channel may specify a transparency mask value. Some image software (such asPhotoshop) perform automaticcolor separation to maintain color information in CMYK mode using a specifiedICC profile such asUS Web Coated (SWOP) v2.
Adobe software includes its own color management engine - Adobe Color Engine. It is also available as a separate Color Management Module - Adobe CMM for use by non-Adobe applications that supports 3rd-party CMMs.[33]
As of 2005[update], mostweb browsers ignored color profiles.[34] Notable exceptions wereSafari, starting with version 2.0, andFirefox starting with version 3. Although disabled by default in Firefox 3.0, ICC v2 and ICC v4 color management could be enabled by using an add-on[35] or setting a configuration option.[36]
As of July 2019, Safari, Chrome and Firefox fully support color management.[37] However, it is important to note that most browsers only do color management for images and CSS elements, but not video.
Regarding mobile browsers, Safari 13.1 (on iOS 13.4.1) recognizes the device color profile and can displays images accordingly.[45]Chrome 83 (onAndroid 9) ignores the display profile, simply converting all images to sRGB.[45]
As of 2023,Chrome 114,Android Browser 114 andFirefox for Android 115 support multiple colorspaces.[46] The same is valid for their desktop counterparts: Chrome 118, Edge 114, Safari 16.6, Firefox 117 andOpera 100.[46]
A DeviceLink profile is always between two color spaces and it does not pass through L*a*b*to do its conversion.
Perceptual transforms developed to meet ICC specifications prior to version 4.0 frequently use zero to represent the black point, and thus do not conform to this specification.
Many designers choose not to include ICC Profiles with Web files because most Web browsers can't read them and they increase the size of a file.
gfx.color_management.enabled can be set to "true" in the "about:config" file of Firefox since version 3.Firefox 3: Color profile support (oh the pretty, pretty colors)Archived 2008-05-01 at theWayback Machine, Deb Richardson, Mozilla Corporation.