Extract all information from ICC color profiles in JSON format.
The iccdump
tool in Argyll CMS can dump ICC
Profiles, but when dumping display profiles generated by macOS, errors like the
following are produced:
Unable to read: 1, icmCurve_read: Wrong tag type for icmCurve
ExifTool, on the other hand, does just fine. However, it doesn't have a one-shot dump of all profile information in semi-human-readable format, instead hiding binary data behind messages like:
Green Tone Reproduction Curve : (Binary data 2060 bytes, use -b option to extract)
This quick-and-dirty utility wraps ExifTool to do the following:
- Extract all tags, hex dumping binary tags
- Ignore ExifTool output that describes the file itself rather than describing its contents
- Dump tags in sorted order to JSON, a format that is human readable enough to allow inspection and exploration but structured enough to facilitate machine interpretation.
On macOS, install ExifTool with with Homebrew:
brew install exiftool
The icc_dump
utility dumps all ICC profiles in a directory.
Usage: icc_dump.py PROFILE_DIR OUTPUT_DIR
For example:
./icc_dump.py profiles/ dump/
Sample profiles are included.