Apply a custom 3D LUT to a display or a live preview

Apply a custom 3D LUT to a whole display, then use the same definition in a separate live preview. The first changes the presented desktop; the second changes only a Picture in Picture copy. Start with a reproducible neutral file to learn the workflow, then compare an appropriate creative transform with its bypassed view.

Before you begin

Keep the existing ICC profile and custom-profile safeguards in place. A custom 3D LUT is software image processing, separate from the display's color table and from a LUT stored inside a monitor. Neither a creative look nor an unchanged neutral image establishes measured monitor calibration.

Import a neutral test LUT

Save the following text as a plain UTF-8 file named tutorial-identity-sdr.cube. It is a 2 × 2 × 2 identity table: the eight RGB rows reproduce their input coordinates, with red changing fastest, then green, then blue. This order matches the color-cube convention in Apple's Core Image reference.

TITLE "Tutorial Identity SDR"
LUT_3D_SIZE 2
DOMAIN_MIN 0 0 0
DOMAIN_MAX 1 1 1
0 0 0
1 0 0
0 1 0
1 1 0
0 0 1
1 0 1
0 1 1
1 1 1
  1. Open Settings > Displays > Overview > Custom LUT Filters…. Choose Import Custom LUT… and select your file.
  2. In New custom LUT filter, keep HDR content range (marked Experimental) off and Signal space at sRGB. Keep SDR/reference white at 100 nits. The new SDR import has no HDR target peak. Check the file name and CUBE dimension of 2³.
  3. Keep Unique name as Tutorial Identity SDR if it is unused; otherwise choose an unused descriptive name and use that same name below. Choose Add Custom LUT Filter to commit it. Cancel discards the pending import without adding a definition.

BetterDisplay’s new custom LUT draft named Guide Identity SDR, using a neutral2³CUBE file, sRGB signal space, HDR off and100nits SDR/reference-white metadata.

The neutral SDR import is ready to commit; its reference-white entry is metadata, not a panel measurement.

The supported format is a UTF-8 3D CUBE file with a dimension from 2 to 128, exactly that dimension cubed finite RGB triples, and a finite increasing input domain. One-dimensional and mixed CUBE files are not supported; the file-size limit is 256 MiB. The example supplies eight triples for dimension 2.

The signal-space choice affects color processing. Reference white and an HDR target peak record the LUT's authored assumptions and participate in validation; entering a number does not set or measure the monitor's luminance. The identity table adds no intentional color transform, although the color-management and capture path can still affect the actual appearance.

Apply it to the whole display

  1. Open Settings > Displays > [your display] > Device Control > Image Adjustments. Check Enable software-based video adjustments and Enable compositor filter layer. Both normally start on. If either is off, record it before enabling only what this trial needs. Leave color-table compatibility safeguards unchanged.
  2. In App Menu > [the same display] > Image Adjustments, check that Suspend Image Adjustments is off. If you need an isolated comparison, record and temporarily turn off only other LUT selections and individually interfering adjustments or automatic rules. Keep actual brightness, the profile and the test content fixed.
  3. Under Custom LUT filters:, select your new named filter. The selection is saved and applies without an Apply button. Look at the actual display; this is the whole-desktop compositor path.
  4. Select the same name again to bypass only that LUT. Verify its selection is off. Do not use Reset Image Adjustments, which changes unrelated adjustments, or broad suspension as a substitute for single-filter bypass.

The neutral Tutorial Identity SDR LUT selected in the display’s Image Adjustments menu.

This LUT selection applies to the whole display; the selected icon records assignment, without establishing physical color accuracy.

An identity LUT may look unchanged. Its checkmark confirms the saved selection, not that a visible filter layer was successfully created or that the panel is calibrated. For an observable comparison, separately import a known, appropriately authored and licensed SDR creative LUT using its specified signal space. Give it a new name, enable only that trial LUT, and alternate its own selection on and off over suitable existing content. Do not replace a shared definition to perform this test.

Make a separate preview

  1. Leave the trial LUT off in the source display's Image Adjustments. Use a source desktop without other display-side LUTs or processing that would confound the comparison; record any selections you temporarily bypass. This avoids intentionally applying the same LUT to the desktop and then to its captured copy.
  2. In App Menu > [source display] > Picture in Picture, find the original/default PIP entry and choose Add PIP Configuration. This action is offered only in that entry in the App Menu. Keep the original configuration intact; use the actual new entry's label rather than assuming a number.
  3. Open that new entry. Keep Start Automatically off. Choose Start, then move the PIP to the separate viewing display. Confirm it shows the intended source and does not capture itself. Use its ordinary window with Title Bar & Window Controls and Window Shadow on; leave cropping, flips and rotation off, and Alpha and Magnification at 100%.
  4. Turn Video Filters on to expose its settings. Leave built-in effects at their neutral defaults and Customize Blend Mode off. Keep HDR Filter Pipeline off wherever it is offered. Under Custom LUT filters:, select your new identity filter, or the separately imported creative filter you are comparing.
  5. Compare the original source with the PIP, then select the same name again to bypass that LUT in the PIP. The source display's selection stays off. Keep the viewing display's own adjustments fixed; a LUT on that display would also affect the preview you see.

The neutral Tutorial Identity SDR LUT selected in the additional PIP’s Video Filters menu.

This selection belongs to the preview’s Video Filters; the display-wide LUT assignment remains off.

A selected custom LUT keeps the capture filter pipeline effective even if Video Filters is later off. Deselect the LUT itself to bypass it. Custom LUTs run after the built-in effects and blend result, in the manager's stored order; selecting several is a stack. There is no individual custom-LUT strength slider. Blend Mode Opacity belongs to built-in blending and is not a strength adjustment for one LUT.

Changing a selection or editing a shared definition can restart an active preview. Stop the trial before putting private content on its source. Its capture exclusion choices do not exclude that content from other apps or guarantee that a display-side effect is included or excluded from every capture path.

Check the result

  1. For the neutral example, confirm the saved name, 2³ dimension, SDR/sRGB settings and the correct per-display or per-PIP selection. An unchanged picture is consistent with the identity table, but does not prove active rendering.
  2. For a known creative LUT, alternate its selection off and on while content, brightness, profile, other adjustments and viewing conditions stay fixed. The whole-display trial should affect that desktop; the separate trial should change the PIP while its unprocessed source stays unchanged. Check actual displays as well as the chosen capture path.
  3. Return each selection to off and verify the baseline returns. Unexpected differences with the identity table warrant checking source/output color management, other filters, HDR/presets and capture processing before blaming the LUT file.

A screenshot records its capture path, not physical color accuracy. Measured correction requires an appropriate measurement and calibration workflow with stable display settings. See color profiles and calibration.

Troubleshooting

Keep HDR experiments separate from this SDR workflow. An HDR LUT needs appropriate authored signal/calibration assumptions; HDR capture filtering requires Apple silicon and a compatible capture/output path. An HDR label or reference-white/peak entry does not guarantee captured highlight detail, measured output nits or an accurate HDR correction.

Undo, stop and remove

  1. Stop trial triggers and further menu changes. Keep the needed license/trial active while deselecting only the new trial LUTs from the display and PIP. Restore the original selection sets, including any temporarily bypassed existing LUTs, without changing their global order.
  2. Turn the trial PIP's Start Automatically off. Let pending imports, menu callbacks, source/capture starts and restarts settle, then choose Stop again and verify the trial is inactive before private source changes or removal. A prior Stop may precede pending work; Hide and Pause are not substitutes.
  3. Choose Remove PIP Configuration only in the new additional entry. Wait for its deferred removal and verify the entry disappears. Keep existing configurations, sources and virtual screens intact.
  4. If you no longer need the new definition, open Settings > Displays > Overview > Custom LUT Filters…, identify only your new filter, choose Delete… and confirm Delete in Delete Custom LUT Filter?. Deletion removes that definition and all its assignments, including remembered consumers. Check its uses first; never delete a shared existing filter to undo one selection. Let refreshes settle before restarting any original captures.
  5. Restore only changed image-adjustment values, brightness, profile/HDR/preset state, software/compositor switches, source-app window positions and individually paused rules. Restore affected physical and pre-existing virtual modes, origins and main-display state if anything changed. Preserve independently recorded current values and protected targets.

Export Original LUT… saves the imported source file, not a backup of its configured metadata, assignments or global order. An originally absent saved value is not equivalent to entering its displayed default. If ordinary targeted UI cannot reproduce an original unset state, or both a current value and a different protected target, preserve the original private record/backup, leave only the affected rule off and record the precise restoration limit. Do not use global Reset, Forget or Import to clean up this trial.

Additional information

This section explains feature eligibility and platform requirements for the two LUT paths.

Features requiring Pro license

Importing and editing custom LUTs, their per-display and per-stream selections, and the PIP setup/preferences used here require Pro or an eligible trial. Keep that eligibility active through targeted cleanup: selecting an already enabled LUT to turn it off also requires it. Stopping an active PIP, removing an additional configuration, and manager Export/Delete are separate free actions; deletion is global and is not an appropriate bypass for a shared filter.

Platform compatibility

The ordinary SDR whole-display compositor and PIP LUT paths are available on both Apple silicon and Intel Macs, subject to actual display/layer availability and capture access. The documented app requires macOS 26.3 or later. HDR capture filtering requires Apple silicon and an appropriate capture/output path; the main procedure uses SDR.