What it does
Little CMS is a C colour-management engine for transforming image values between ICC profiles. These profiles describe how colours relate to a device or colour space. The library supports version 2 and version 4 profiles and is distributed under the MIT licence.
An application opens its source and destination profiles, specifies the input and output pixel layouts, then creates a transform and applies it to image buffers. Controls include the rendering intent, which governs how colours are mapped, and flags for the conversion behaviour. Soft proofing can preview an output device’s colours.
The caller must provide profile locations and check whether they opened successfully. Pixel layout also matters: RGB and BGR are different, and a single buffer can only serve as both input and output when their formats match.
The core engine is free to use in commercial applications under MIT, with the licence notices retained. Autotools is the reference build route for Unix-like systems; CMake is recommended for native Windows builds. The utilities include JPEG and TIFF processing and a numerical profile converter.
Strengths
- Profile support includes device-link, abstract and named-colour profiles.
- A C API, standalone utilities and a step-by-step integration tutorial are available.
Watch out for
- Applications must supply profiles, pixel formats and resource cleanup correctly.
- Autotools needs a POSIX shell; native Windows builds use CMake.
Best for
- Developers implementing profile-aware image or publishing workflows.
Sources
- GitHub - mm2/Little-CMS: A free, open source, CMM engine. It provides fast transforms between ICC profiles. · GitHub (Oct 28, 2026)
- Little CMS Open Source Color Engine (Oct 28, 2026)
- Little CMS 2.19: How to use the engine in your applications (Oct 28, 2026)
- Little-CMS/BUILDING.md at master · mm2/Little-CMS · GitHub (Oct 28, 2026)
- Little-CMS/LICENSE at master · mm2/Little-CMS · GitHub (Oct 28, 2026)