I used to spend 20 minutes per image doing the same color grade. Drag the curve here, nudge the hue-saturation there, tweak the color balance just enough that the client wouldn’t notice the originals were inconsistent. Multiply that by 80 images for a mid-size e-commerce shoot and you’re losing most of a working day to something a computer could handle in seconds. The moment I understood what a color lookup table actually was, that problem went away almost entirely.

The Math Behind the Magic

A color lookup table, or CLUT, is exactly what it sounds like: a table that says “when you see this color value, output that color value instead.” The file maps every possible combination of red, green, and blue input values to a corresponding output. Photoshop’s native .cube format works on a 33x33x33 grid, which gives you 35,937 reference points across the full RGB color space. For each of those points, the file stores the target output values, and Photoshop interpolates smoothly between them for everything in between.

What this means practically is that a CLUT applies an entire, complex color transformation in a single, non-destructive adjustment layer. It’s not approximating a look by chaining together curves and hue-saturation sliders. It’s doing a direct lookup. The render time is almost identical whether your CLUT is doing something subtle or something dramatic, because the computational work is the same either way.

The .cube File and Where It Lives

In Photoshop, CLUTs live inside the Color Lookup adjustment layer. You’ll find it in your Adjustments panel or under Layer > New Adjustment Layer > Color Lookup. Once you’re in, you have three source options: 3DLUT File, Abstract, and Device Link. For creative color grading, you want 3DLUT File. Click the dropdown and you’ll see Photoshop’s built-in options like Futuristic Bleak, Crisp Winter, and a handful of others. These are fine for demonstrations. For production work, you load your own.

Your custom .cube files go in a specific folder so Photoshop can find them automatically. On a Mac: /Library/Application Support/Adobe/Color/3DLUTs. On Windows: C:\Program Files\Adobe\Adobe Photoshop [version]\Presets\3DLUTs. Drop your .cube files there, restart Photoshop, and they appear in the dropdown alongside the defaults. A standard .cube file at 33x33x33 resolution runs between 1MB and 2MB, so you can keep a large library without worrying about drive space.

Building a CLUT From a Grade You’ve Already Approved

This is the part most people skip, and it’s where the real leverage is. If you’ve spent time getting a color grade exactly right on one image, you can export that grade as a CLUT and apply it to hundreds of images in seconds.

The cleanest way to do this in Photoshop is through the Export Color Lookup Table option under File > Export. Before you export, make sure all your color adjustments are in adjustment layers, not baked into the pixel layer. Photoshop samples your adjustment stack and writes the mapping to a .cube file. Set the Quality to High (which uses the 33x33x33 grid), check the 3D LUT box, and export. The whole process takes about 30 seconds.

From there, you can apply that .cube file as a Color Lookup adjustment layer on any image, in any Photoshop document, in any batch action. That last part is what changes the economics of color grading entirely.

Where Actions and CLUTs Work Together

I keep a library of about 40 CLUTs organized by project type: clean product, warm lifestyle, cold industrial, desaturated editorial. Each one came from a grade I developed for a real job that the client signed off on. When a new brief comes in that matches one of those categories, I apply the relevant CLUT as a starting point, dial the opacity of the adjustment layer to taste (usually somewhere between 70% and 90% to keep it from overpowering the base exposure), and I’m done in under two minutes.

The batch workflow is where it scales. A Photoshop action that opens a file, adds a specific Color Lookup adjustment layer, sets the blend mode to Normal and the opacity to 80%, then saves and closes takes about four seconds to record. Run that through Image Processor or an action set on a folder of 200 files and you’ve done what used to be a full afternoon of work in the time it takes to make coffee. I tracked a job last year where building the CLUT took about 45 minutes the first time, and then applying it across 340 product images took 12 minutes total. That math repeats every time a similar brief comes in.

The Limitation Nobody Mentions

CLUTs are not magic. They’re a fixed mapping, which means they’re capturing the transformation, not the intent. If your input images vary significantly in white balance or exposure, a single CLUT will produce inconsistent results because you’re mapping different starting values through the same table. I learned this the hard way on a batch of lifestyle images that came from two different cameras with different color profiles. The CLUT made the inconsistency worse, not better, because it amplified the differences.

The fix is boring but necessary: normalize your inputs first. Match white balance, apply your camera profile, and get your exposures within roughly half a stop of each other before you run the CLUT. Do that and the output consistency is remarkable. Skip it and you’re just automating the problem.

The single most important thing to understand about CLUTs is that they’re not a shortcut around knowing color, they’re a delivery mechanism for color work you’ve already done well. Get the grade right once, on a real image, with a real client brief, and then let the table carry that decision forward indefinitely.