← Guides

macOS · Color Management

ICC profiles on Mac.
Know what you are verifying.

Build matrix/TRC display profiles, calibrate from a .cube LUT, and inspect, compare, and assign color profiles — natively on your Mac, with read-back checks for profile assignment and live gamma curves. These checks confirm software state; display accuracy still requires measurement.

Updated October 21, 2026

PatternSpace 2.0 · macOS. Open Tools → ICC Profiles…. The workbench has five tabs: Build, Inspect, Compare, Verify, and Display. This guide explains what each operation changes, what it leaves for the display or another application to do, and how to check the result with your calibration software.

A profile describes a display. Calibration changes its response.

Suppose a monitor has been adjusted to your working white point and tone response. An application still needs a description of how that monitor reproduces color. A display ICC profile supplies that description. Color-managed software can use it together with the content's source profile to calculate the values sent to the screen.

A calibration curve has a different job: it changes the relationship between input values and output. Confusing these two roles makes it easy to apply a correction twice, verify the wrong path, or mistake a successfully installed file for an accurate display.

Matrix/TRC display profile
A color description using a matrix and tone-response curves. The ICC model supports a one-dimensional curve for each channel; storing those curves as samples does not turn the profile into a volumetric 3D LUT. ICC profile processing models.
VCGT: video-card gamma table
Separate red, green, and blue calibration curves. PatternSpace can include them in its display-profile draft or request a temporary live application. Independent channel curves cannot reproduce an arbitrary transform in which red output also depends on green and blue input.
3D LUT
A transform that can mix channels. Its suitability depends on the expected input, output, and the software or hardware that will apply it.
ICC DeviceLink
A direct transform between device encodings. PatternSpace's LUT Tools exports RGB-to-RGB DeviceLink files for explicitly compatible software. These are separate from the display profiles managed in ICC Profiles.

PatternSpace does not measure your display. Its profile builder encodes your supplied primaries and transfer function. A preset name or valid ICC file does not establish that those values describe the measured screen.

Follow the path you are measuring

To evaluate color-managed output, trace the chain from the source content through application color management, the active display profile and calibration state, and the panel. Confirm each software stage separately, then use a meter to measure the light the display emits.

Conceptual display color-management and verification path Tagged content passes through color management using the source and display profiles, then the display output state including any active calibration curves, and finally the screen. A meter measures light from the screen. Profile inspection and ramp read-back are software checks before the light measurement. Content or calibration patches Source color-space tag Color-management transform Source profile → display description Inspect the intended profiles Display output state Including any active calibration ramp Read-back is a software check Display and selected picture mode Emitted light Meter + calibration software Measure the actual result
A conceptual workflow, not a claim about every macOS implementation detail. Apple reference displays and external SDI output need their own setup. The dashed arrow represents light, not an API read-back.

Keep characterization and verification separate. PatternSpace's Device Native preset follows the selected display's color space. Matching the content tag to the display profile can reduce the source-to-display conversion; it does not establish that every other output stage or calibration curve has been bypassed.

When checking color-managed reproduction, use an appropriate SDR Reference preset with known source colorimetry. Leaving Device Native selected can test a different question from whether tagged working-space content is reproduced correctly. See output presets and display setup.

For a monitor connected through Blackmagic hardware, use the DeckLink SDI workflow. A Mac display profile is not the place to correct that external video path.

Build a profile from known inputs

Build a display profile from known primaries, white point, and tone response; a valid file only records the values you provide. Use measured values for a calibrated display, and keep any calibration curves tied to the same state.

  1. Record the baseline. Note the display, picture mode or preset, brightness, active profile, and any calibration already loaded. Keep the original profile and LUT files so the session can be repeated or reversed.
  2. Enter the description in Build. Choose or edit the RGB primaries and white point. Select sRGB, Gamma 2.2, Gamma 2.4, idealized BT.1886, or Linear tone response. This builder's public workflow is SDR.
  3. Add calibration only if needed. Import a compatible .cube and enable Include calibration curves in this profile. Confirm that the supplied correction belongs to the same display state as the profile description.
  4. Inspect the draft. Check its primaries, tone response, and stored VCGT before export. Free preparation lets you assess the result first.
  5. Export or prepare assignment. Writing the generated ICC and assigning a generated profile require Pro. PatternSpace does not silently install a new system display profile.

The gamut figure is an area ratio in CIE xy, relative to a reference triangle. It can exceed 100%. Equal areas do not establish equal gamuts or complete coverage of the reference.

For gamma 2.2, gamma 2.4 and BT.1886 profiles, TRC Encoding offers Parametric (the default exact curve) or Sampled table (1024 entries) for software that mishandles parametric curves. sRGB and Linear retain their exact encodings. This changes the profile representation, not a measured display response.

Which LUTs can become VCGT?

A 1D LUT already supplies separate channel curves. A 3D LUT is suitable only when the complete transform can be reduced to those independent curves within the extractor's tolerances. A neutral-looking gray ramp alone is insufficient.

PatternSpace checks range, endpoints, monotonicity, and separability, then resamples accepted calibration to 256 entries by default. A rejection does not necessarily make the LUT defective: a valid 3D calibration for a monitor or LUT processor can simply be unsuitable for VCGT.

Use Tools → LUT Tools (Beta)… for standalone inspection and chain preparation. Its Inspect node examines the transform above it. Read the LUT Tools guide for the supported operations, format limits, and DeviceLink export.

Verify the transform offline

In Verify, choose a target color space (an SDR Reference preset or an imported RGB source profile) and a destination display profile, then select Run Check. PatternSpace converts a fixed set of sample colors through Apple's ColorSync and Core Graphics and compares each result with its own matrix/TRC description of the destination. No display, gamma table, or patch is involved.

Verify does not offer Device Native or the Display presets as targets, refuses to run when the profiles are identical or define the same transform, and after a run flags any engine that returned the eligible samples unchanged. There is no pass badge: findings that need attention are counted separately from informational ones, such as Apple's near-black slope limit on Gamma 2.4 and 2.6 curves. Verify does not assign the profile, load its calibration curves, or measure the display; see the calibration guide for where it fits.

Assignment, live apply, and verification answer different questions

Profile assignment, temporary calibration curves, and optical verification are separate operations. Confirm each state on its own: an assigned profile does not prove that a calibration ramp is active, and a successful software read-back does not measure the emitted image.

Assign a display profile

In Display, select the target and candidate. PatternSpace prepares the exported files and a restore point, then opens macOS settings for you to select the profile. Confirm afterwards to read the active profile back. Assigning a suitable external profile remains free; using a generated profile requires Pro.

The latest assignment check first compares profile identity. When macOS changes the serialized bytes, it can also compare recognized primaries and transfer classification for a generated draft. This is a limited software comparison, not proof that every profile tag, VCGT value, or emitted color is identical.

Apply temporary calibration curves

Temporary calibration changes the selected display's ramp and checks the returned values. It is a separate Pro operation with its own restore action. Removing curves from the draft does not restore a ramp already applied to a display.

Profile contents, assigned-profile state, and active calibration curves are three separate things. Other software and display reconfiguration can affect calibration. Recheck after a significant state change; do not rely on sleep or logout to restore a known baseline. Keep unresolved recovery visible until the intended display is available.

Measure the result

Use your meter and calibration software to verify neutral balance, tone response, and color reproduction through the intended content and output path. Use independent verification patches as appropriate. A successful read-back cannot substitute for an optical measurement.

Why a 3D-LUT ICC is a different case

PatternSpace now shows profile-structure information and marks profiles outside its recognized matrix/TRC baseline as experimental for display assignment. Treat that as a prompt to investigate the profile and destination, not as a guarantee that any file called ICC can calibrate the whole desktop.

A color engine reading a transform for image conversion is a different use from macOS using an assigned profile for live display output. Test the application and version where the result will be used. Light Illusion's Mac colour-management discussion provides detailed context for this distinction and the pitfalls of assuming a successful assignment proves volumetric correction.

LUT Tools' ICC DeviceLink (RGB → RGB) export is specifically an RGB-to-RGB DeviceLink, baked to a 33³ table. Use software with explicit support for that profile type. Adding optional VCGT does not turn it into a normal macOS display profile or automatically apply the stored curves.

Apple reference displays: choose the intended preset

Apple provides presets and custom reference modes on supported displays. Select the mode appropriate to your content, record it, and keep it consistent during measurement. Apple's documentation describes choosing and customizing presets; there is no universal “Reference Mode off” procedure that guarantees a conventional ICC/VCGT workflow. Follow Apple's reference-mode instructions and the calibration procedure supported by your display model.

If System Settings does not offer manual profile selection for the chosen display, do not assume exporting an ICC will enable it. PatternSpace can generate measurement patches, but its profile tools do not replace Apple's display-calibration controls.

For HDR work, distinguish hardware capability from current EDR headroom. The current maximum may be lower than the display's potential and can change with operating conditions. Record the selected mode and headroom; an SDR ICC export does not configure HDR. See Apple's EDR guidance.

When the result does not match expectations

Start by identifying which layer disagrees: profile contents, assigned profile, active calibration curves, application color management, or the physical display. Use the checks below to narrow the cause before repeating a measurement.

Choose the right tool for the next step

Building, inspecting, and comparing profiles is free. Pro adds generated-profile export, assignment, and temporary calibration. Explore purchase options, connect your calibration software, or return to the measurement workflow.