<!--
{
  "documentType" : "article",
  "framework" : "ColorSync",
  "identifier" : "/documentation/ColorSync/color-management-modules",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Color management modules"
}
-->

# Color management modules

Work with the Color Management Modules that perform color conversions.

## Overview

A Color Management Module (CMM) performs the calculations for a color conversion.
ColorSync includes a default CMM and can load additional CMMs packaged as bundles. Most apps
never work with a CMM directly, because ColorSync selects one automatically. You can also enumerate the
installed CMMs, choose a preferred CMM for a transform with [`kColorSyncPreferredCMM`](/documentation/ColorSync/kColorSyncPreferredCMM), or implement
your own by exporting the required entry-point functions from a bundle.

## Topics

### Working with CMMs

[`ColorSyncCMM`](/documentation/ColorSync/ColorSyncCMM)

A reference to a Color Management Module (CMM).

[`ColorSyncCMMCreate`](/documentation/ColorSync/ColorSyncCMMCreate(_:))

Creates a CMM object from a CMM bundle.

[`ColorSyncCMMCopyCMMIdentifier`](/documentation/ColorSync/ColorSyncCMMCopyCMMIdentifier(_:))

Copies the identifier of a CMM.

[`ColorSyncCMMCopyLocalizedName`](/documentation/ColorSync/ColorSyncCMMCopyLocalizedName(_:))

Copies the localized name of a CMM.

[`ColorSyncCMMGetBundle`](/documentation/ColorSync/ColorSyncCMMGetBundle(_:))

Returns the bundle associated with a CMM.

[`ColorSyncCMMGetTypeID`](/documentation/ColorSync/ColorSyncCMMGetTypeID())

Returns the `CFTypeID` for `ColorSyncCMM`s.

[`ColorSyncIterateInstalledCMMs`](/documentation/ColorSync/ColorSyncIterateInstalledCMMs(_:_:))

Iterates over the installed CMMs, invoking a callback for each one.

### Implementing CMM callbacks

[`ColorSyncCMMIterateCallback`](/documentation/ColorSync/ColorSyncCMMIterateCallback)

A callback that the framework invokes for each installed CMM during iteration.

[`CMMApplyTransformProc`](/documentation/ColorSync/CMMApplyTransformProc)

A function a CMM provider implements to apply a color transform to image data.

[`CMMCreateTransformPropertyProc`](/documentation/ColorSync/CMMCreateTransformPropertyProc)

A function a CMM provider implements to create a transform property for a given key.

[`CMMInitializeLinkProfileProc`](/documentation/ColorSync/CMMInitializeLinkProfileProc)

A function a CMM provider implements to initialize a device-link profile.

[`CMMInitializeTransformProc`](/documentation/ColorSync/CMMInitializeTransformProc)

A function a CMM provider implements to initialize a color transform.

### Registering plug-in entry points

[`kCMMApplyTransformProcName`](/documentation/ColorSync/kCMMApplyTransformProcName)

The CMM bundle info-dictionary key whose value is the name of the function that applies a color transform.

[`kCMMCreateTransformPropertyProcName`](/documentation/ColorSync/kCMMCreateTransformPropertyProcName)

The CMM bundle info-dictionary key whose value is the name of the function that creates a transform property.

[`kCMMInitializeLinkProfileProcName`](/documentation/ColorSync/kCMMInitializeLinkProfileProcName)

The CMM bundle info-dictionary key whose value is the name of the function that initializes a device-link profile.

[`kCMMInitializeTransformProcName`](/documentation/ColorSync/kCMMInitializeTransformProcName)

The CMM bundle info-dictionary key whose value is the name of the function that initializes a color transform.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)