How to Add a DCTL to DaVinci Resolve: A Complete Guide
DaVinci Resolve is one of the most powerful color grading tools available, and part of what makes it so extensible is its support for DCTL files — DaVinci Color Transform Language scripts that let colorists apply custom looks, mathematical transforms, and color science tools beyond what the built-in nodes offer. If you've downloaded a DCTL and aren't sure where to put it or how to use it, this guide walks you through exactly how the process works.
What Is a DCTL File?
A DCTL (DaVinci Color Transform Language) file is a text-based script written in a C-like language that Resolve uses to perform pixel-level color transformations. Think of it as a custom filter — but one that operates with full mathematical precision on your image data.
DCTLs are used for things like:
- Applying custom LUT-style transforms not available natively
- Implementing ACES or other color science workflows
- Creating film emulation, halation effects, or grain tools
- Building gamut mapping or exposure adjustment tools
They're widely shared by colorists and developers in the color community, and many are free to download. Some commercial DCTL tools are also sold as plugins.
What You Need Before You Start
Before installing a DCTL, a few things need to be in place:
- DaVinci Resolve Studio — Some DCTL features only work in the paid Studio version. The free version of Resolve has limited DCTL support; GPU-based DCTLs in particular may not function without Studio.
- A compatible GPU — DCTLs run on the GPU. CUDA (NVIDIA) and Metal (Apple Silicon/AMD on Mac) are both supported, but not all DCTLs are written for every backend. Some are CUDA-only, which means they won't work on Mac or AMD-only systems.
- The correct Resolve version — DCTL syntax has evolved across versions. A DCTL written for Resolve 17 may behave differently or throw errors in Resolve 18 or 19. Check the documentation that came with your DCTL file.
Where to Place DCTL Files 🗂️
Resolve looks for DCTLs in a specific system folder. You don't install them through Resolve's interface — you copy them directly into the correct directory on your operating system.
| Operating System | DCTL Folder Path |
|---|---|
| Windows | C:ProgramDataBlackmagic DesignDaVinci ResolveSupportLUT |
| macOS | /Library/Application Support/Blackmagic Design/DaVinci Resolve/LUT/ |
| Linux | /home/resolve/LUT/ or /opt/resolve/LUT/ |
A few important notes on folder placement:
- You can create subfolders inside the LUT directory to organize your DCTLs. Resolve will display these as grouped categories in the DCTL menu.
- The DCTL file must have the
.dctlextension — if you downloaded a.txtfile containing DCTL code, rename it with the correct extension before placing it in the folder. - On Windows,
ProgramDatais a hidden folder. You'll need to enable "Show hidden files" in File Explorer to navigate to it.
How to Apply a DCTL Inside Resolve
Once the file is in the right folder, you apply it from within the Color page:
- Open the Color page in Resolve.
- In the node graph, right-click on a node (or add a new serial node).
- Select "DCTL" from the node context menu — this converts the node into a DCTL node.
- A dropdown will appear at the top of the node. Click it and select your DCTL from the list.
- If the DCTL has adjustable parameters, they'll appear in the Settings panel on the left side of the Color page.
If your DCTL doesn't appear in the list, restart Resolve after placing the file. Resolve scans the LUT directory at launch, not continuously.
Understanding DCTL Parameters and Controls
Not all DCTLs are the same in terms of user interaction. Some are fixed transforms — they do one specific thing with no adjustable inputs. Others expose sliders, toggles, and dropdowns that let you dial in the effect.
These controls appear in the "Remote Grades / DCTL" section of the left panel on the Color page when a DCTL node is selected. If you don't see controls, the DCTL may not have exposed any parameters — that's by design for some tools.
Common Issues and What Causes Them 🔧
DCTL not appearing in the menu: The file is in the wrong folder, has the wrong extension, or Resolve hasn't been restarted since you added it.
"DCTL not supported" error: This usually means you're running the free version of Resolve for a feature that requires Studio, or the DCTL requires a GPU backend (CUDA/Metal) that doesn't match your hardware.
DCTL appears but produces errors or garbled output: The DCTL may have been written for a different version of Resolve, or it may have dependencies (like additional .h header files) that need to be placed in the same directory.
Header file dependencies: Some DCTLs #include external header files. If those .h files aren't in the same LUT folder as the .dctl file, the transform won't compile. Always check the documentation for any additional files that need to be installed alongside the main DCTL.
How DCTLs Differ From LUTs
It's worth understanding why someone would use a DCTL instead of a standard LUT (Look-Up Table). A LUT is a pre-baked, static set of color mappings — fast but fixed. A DCTL is procedural: it calculates the transform mathematically at render time using actual code.
This means DCTLs can:
- Respond dynamically to user-adjustable parameters
- Perform operations that can't be represented in a fixed LUT (like true gamut compression or exposure-dependent curves)
- Work in floating-point precision without the clamping artifacts LUTs can introduce
The tradeoff is that DCTLs require more GPU overhead and can fail if there's a hardware or version mismatch — neither of which applies to a simple .cube LUT file.
The Variables That Determine Your Experience
Whether DCTLs work smoothly in your setup depends on factors specific to your rig:
- Resolve version — Studio vs. free, and which major version
- GPU make and model — NVIDIA, AMD, or Apple Silicon, and whether CUDA or Metal is your active compute backend
- Operating system — folder paths and permission requirements differ meaningfully across Windows, macOS, and Linux
- The DCTL itself — some are written with broad compatibility in mind; others are tightly coupled to a specific environment
A DCTL that installs and runs perfectly on one colorist's workstation may fail silently or throw compile errors on another. The code is the same — but the environment around it isn't.