ICC Profile to JSON Converter

Decode an ICC/ICM color profile binary to human-readable JSON

Ad placeholder (leaderboard)

The ICC Profile to JSON Converter opens the binary internals of an ICC or ICM color profile and turns them into clean, readable JSON. It is useful for color engineers, print and photography workflows, and anyone debugging color management who needs to see exactly what a profile claims about a device.

How it works

An ICC profile follows the ICC.1 specification with a rigid binary layout, which makes it fully parseable in the browser:

  1. Header (bytes 0–127). Fixed-position fields including profile size, CMM type, version, device class, color space, profile connection space (PCS), creation date, the acsp signature, platform, manufacturer, model, and rendering intent. Multi-byte numbers are big-endian.
  2. Tag table (from byte 128). A 4-byte count followed by 12-byte entries — each a 4-character signature, a byte offset, and a size pointing into the tag data.
  3. Tag data. The tool decodes the common tag types it finds.

Decoded tag types

  • Texttext, desc (textDescription), and mluc (multiLocalizedUnicode, UTF-16BE) are read as strings, used for the profile description and copyright.
  • XYZ — stored as s15Fixed16 fixed-point and converted to decimals by dividing by 65536, giving the white point, black point, and RGB primaries.
  • Curvescurv tone-reproduction curves report a single gamma value or a point count; para parametric curves are flagged by type.

Tags the tool doesn’t specifically decode are still listed with their data type, offset, and size so nothing is hidden.

Notes and tips

The decoder validates the acsp signature at byte 36 before doing any work, so a non-profile file produces a clear error rather than nonsense. Because parsing is purely structural and runs locally, it is fast and safe for proprietary or custom-built profiles. Use the JSON output to document a profile, diff two profiles, or feed profile metadata into your own color-management tooling.

Ad placeholder (rectangle)