International Color Consortium
Getting Started
Making color seamles between devices and documents
ICC Specifications
Technical Notes
ICC Resource Center
ICC Slide Presentation
ICC Logos
Information on Profiles
ICC White Papers
Color Management Links
Member List
ICC Working Groups
Got a question about ICC Profiles or colour management?

Open source tools

This page lists open source tools for making, editing and applying ICC profiles. The list identifies whether the tool supports ICC v2, v4 (ISO 15076-1) or v5 (ISO 20677). also known as iccMAX.

Note that the ICC provides this list as a convenience to users and does not endorse or recommend individual tools.

DemoIccMax is a publicly-available code library which will create, parse, manipulate and apply ICC profiles for both v4 and v5 (iccMAX) profiles. It includes a utility to test the conformance of a profile with the ICC specification. The IccProfLib subproject library is the heart of the implementation. DemoIccMAX includes full support for iccMAX (v5) profiles and a v5 CMM.

SampleICC is a forerunner to DemoIccMAX which includes support for all v4 features including the Floating Point / Multi-Processing Elements.

IccXml is a utility based on DemoIccMax that converts an ICC profile to an XML encoding, and back from XML to a binary .icc file. Both source files and executables are included.

Argyll is an open source, ICC v2-compatible color management system. It supports ICC profile creation for scanners, CMYK printers, film recorders, and the calibration and profiling of displays.

Argyll is a collection of source code that compiles into a set of command line tools, licensed under the GNU licensing terms. It also includes a general purpose ICC profile format access library, icclib, and a general purpose CGATS file format I/O library.

LittleCMS is a CMM (a color management engine) that implements transforms between ICC profiles. The library is provided free under MIT license agreement.

It has been ported to numerous platforms and is currently used in many open source and commercial products, as well as being distributed in major linux environments.

Version 2 of lcms fully supports the v4.3 ICC specification, including the Floating Point / Multi-Processing Elements.

LPROF is an open source ICC profiler, based on lcms, with a graphical user interface. It can be used to create ICC version 2 compliant profiles for cameras, scanners and displays.

ICCReader is an open-source library for parsing ICC color profiles defined in the ICC v4 specification.

Other open source resources

  • Kai-Uwe Behrmann's links to open source applications and libraries supporting ICC colour management

  • The openICC project and mailing list

  • The color.js Javascript object-oriented colour space-agnostic library of functions for the web, including colour difference, interpolation and gamut mapping

  • The Colour Engineering Toolbox is a set of Matlab functions for colour processing