Creating and Parsing an ICC profile

Does anyone know of a good set of ICC profile tools?

I would like to be able to add tag data to an ICC profile, or create a new basic profile with new tags. I’d also be able to parse and ICC profile using a parse that can show the contents of the Tag table?

Depends what you mean by ‘good’. If you are happy with the command line then the RefIccMAX project provides tools which will dump out the contents of a profile and convert profiles to and from an XML representation.
The relevant tools are IccDumpProfile, IccToXML and IccFromXML.

An overview and link to precompiled binaries is on the ICC website here:
IccMax reference implementation

There is a github project here:

  1. dcamprof will let you do this to a certain extent. You can use it to make a .json file from an existing ICC, modify the JSON, then re-create a new ICC from the JSON. There are limitations associated with V2 only and the input profile orientation of the software: GitHub - Beep6581/dcamprof: DCamProf is a free and open-source command line tool for making camera profiles, and performing tasks related to camera profiles and profiling.

  2. If you want to learn a bit of C, LittleCMS will let you hand-construct V4 ICCs from a few function calls. Elle Stone demonstrates this pretty well with her well-behaved ICC profiles collection, the github repo includes her code: GitHub - ellelstone/elles_icc_profiles: Elle Stone's Well-Behaved ICC Profiles and Code

1 Like

On Windows, I find IccXML useful. This can translate ICC files to and from a human-readable/editable XML format, as well as dumping ICC files as plain text.

1 Like