LUT
Also known as: Look-Up Table, Lookup Table, Color Look-Up Table, 3D LUT
What Is a LUT?
In image and video editing, a LUT is a file that lists which output color to show for each input color. The name is short for look-up table: software reads the stored answer for every pixel instead of working out the math each time, so the same color change applies quickly and in exactly the same way to every image.
Conversion LUTs turn the flat, gray footage a camera records in a log profile into a normal-looking image for a display standard such as Rec.709. Creative LUTs give footage or photos a look, and putting the same LUT on every clip keeps that look consistent. CE.SDK stores its LUTs as images, which is why the tables in the comparison look like grids of colored tiles.
How Does a LUT Change Colors?
A LUT works in one of two ways, depending on whether it looks up each color channel on its own or all three together.
1D LUTs adjust each channel on its own
A 1D LUT has one curve per channel, and each channel’s output depends only on its own input. That covers brightness, contrast and gamma, such as converting log footage to linear, but a 1D LUT can’t change one hue without moving the others.
3D LUTs let the channels affect each other
A 3D LUT looks up all three values together in a cube of sample colors, so the new red can depend on the old green and blue. That lets it change hue and saturation, across the image or only in some colors. Common grids have 17, 33 or 65 points along each side.
Colors between samples are estimated
A 33-point cube stores 35,937 colors out of the 16.7 million an image with 8 bits per channel can hold, and the software estimates the rest from the nearest samples. Trilinear interpolation blends the eight corners around a color and tetrahedral blends four, and tools differ in which they use. Without interpolation, every color snaps to the nearest sample.
What Kinds of LUTs Are There?
LUTs are grouped by what they are for, and conversion and calibration LUTs are often called technical LUTs because they aim for accuracy. The lines blur, though: many camera makers’ conversion LUTs add a look of their own.
| What it does | Example | |
|---|---|---|
| Conversion | Maps one camera's log footage to a display standard | ARRI LogC4 to Rec.709 |
| Creative | Gives footage or photos a style | CE.SDK's built-in Oldtimer filter |
| Viewing | Shows a normal picture while the camera records log | Log View Assist on Panasonic cameras |
| Calibration | Brings a display's colors in line with a standard | A grading monitor matched to sRGB |
What Is Inside a .cube File?
The .cube format, created by IRIDAS in 2003 and specified by Adobe in 2013, is the one most color tools use to exchange LUTs. It is plain text, so any text editor can open one.
A short header sets the size
An optional TITLE line names the LUT, and LUT_3D_SIZE 33 declares a cube with 33 points per side, where LUT_1D_SIZE would declare a 1D table. DOMAIN_MIN and DOMAIN_MAX set the input range, 0 to 1 unless the file says otherwise, and lines starting with # are comments.
Then one line per sample
Each line holds three numbers, the output red, green and blue for one sample point, so a 33-point cube runs to 35,937 lines. Red changes fastest from line to line and blue slowest. Some other formats store blue fastest instead, so a converter has to know which order it is reading.
The extension doesn’t say 1D or 3D
A single .cube file holds either three 1D tables or one 3D table, and only the size keyword tells them apart. Other LUT formats in use include .3dl, .csp, .look and .mga, and many tools read several of them.
# Leaves every color unchanged
TITLE "Identity"
LUT_3D_SIZE 33
DOMAIN_MIN 0.0 0.0 0.0
DOMAIN_MAX 1.0 1.0 1.0
0.000000 0.000000 0.000000
0.031250 0.000000 0.000000
0.062500 0.000000 0.000000
0.093750 0.000000 0.000000 How Many Colors Does a LUT Hold?
A 3D LUT stores a grid of sample colors, and the size of the grid sets how closely it follows the grade between samples. Converting a small LUT to a bigger grid adds no detail, since the new points are only estimates. CE.SDK’s LUT images hold one slice of the cube per tile, so their tile count sets the steps per channel.
| Steps per channel | Sample colors | |
|---|---|---|
| 17-point .cube | 17 | 4,913 |
| CE.SDK, 5 × 5 tiles | 25 | 15,625 |
| 33-point .cube | 33 | 35,937 |
| CE.SDK, 8 × 8 tiles | 64 | 262,144 |
| 65-point .cube | 65 | 274,625 |
Why Does a LUT Look Wrong on Some Footage?
A LUT applies a fixed set of numbers and knows nothing about the footage it gets, so most surprises come from a mismatch.
It was built for a different camera profile
Each LUT expects one kind of input, such as a specific log curve and gamut, and file names usually state both the input and the output. On footage from another profile the contrast and hues come out wrong. ARRI says LUTs made for its LogC3 footage can’t be converted for LogC4 and have to be made again.
Colors outside its range clip
Values past the range the table covers are clamped to its edge, so highlight or shadow detail beyond that point is lost. A LUT doesn’t extrapolate, so bright HDR values above the top of the table clip as well.
It does the same thing to every shot
A LUT can’t tell a dark shot from a bright one, or a cool white balance from a warm one. Put the same LUT on two clips that don’t match and they still won’t match afterward, just with the look on top.
Masks and local edits don’t carry over
A LUT stores one color change for the whole frame. Exporting a grade as a LUT leaves out masks, selective corrections, blur and sharpening, which is why the exported file can look different from the grade it came from.
When Should You Use a LUT?
Use a LUT when the same color change has to land on many images, such as one brand look across every photo a team uploads or one film look across a reel. The job also decides which kind of LUT to use, and when an adjustment or another effect is the better choice.
Use a LUT for
-
Log footage that looks flat and gray
Pick the conversion LUT made for that camera's log profile, since it expects exactly that input.
-
One look across many photos or clips
A creative LUT gives every image the same color change.
-
Brightness, contrast or gamma only
A 1D LUT is enough, because tone changes need no link between channels.
-
Changes to hue or saturation
These need a 3D LUT, whose channels can affect each other.
Use adjustments or effects for
-
One shot that is too dark or too warm
Adjustments such as exposure and temperature can be set for each shot.
-
Sharpening or blur
A LUT changes color only, so these need separate effects, such as a sharpness adjustment.
How LUTs Work in CE.SDK
Your users apply LUTs as filters on photos and on video in CE.SDK. How you add a look depends on where it comes from: the built-in set, an image editor or a grading tool.
Apply a built-in LUT filter
For ready-made looks, the web editor’s asset library in CE.SDK 1.84 includes 61 LUT filters, among them Oldtimer, the filter in the comparison above. Your users pick one from the filter panel and set its intensity to apply the look partly or in full. LUT filters work on images, videos, shapes and graphic blocks, and the engine applies them on the web, iOS, Android and server. To try them, open the Photo Editor demo.
Make a LUT from the identity image
To build a look by eye, start from the neutral identity image in CE.SDK’s docs. It is 512 × 512 pixels in 8 × 8 tiles, holds 64 steps per channel and leaves every color as it is. Open it in Photoshop, Affinity Photo, GIMP or Pixelmator Pro, apply curves, levels, hue and saturation, color balance or channel mixer adjustments to the whole image, then save it in PNG format. Don’t crop, rotate or resize it, since every pixel is a color sample, and don’t use JPEG, whose compression alters those samples.
Convert a .cube from a grading tool
When the look already exists as a grade, export it as a .cube file, which DaVinci Resolve, Photoshop and Affinity Photo can all do. The file has to become a tiled PNG before CE.SDK can use it. Set the tile counts on the asset to match the image, since wrong counts distort the colors. A grid of 8 × 8 tiles has 64 steps per channel, more than a 33-point cube’s 33, while 5 × 5 tiles have 25. Host the PNG over HTTPS with CORS enabled, then add it to a filter asset source, where it appears alongside the built-in filters or replaces them.
FAQs
Apps call their one-tap looks filters, and many of them are LUTs underneath. In CE.SDK 1.84, 61 of the 69 filters in the web asset library are LUTs and the other 8 are duotone filters.
Yes. A Hald CLUT lays a 3D LUT out as an ordinary image: level 8 is 512 × 512 pixels with 64 steps per channel, and it has to be saved without lossy compression, since JPEG artifacts damage the samples. CE.SDK's identity image has the same size and step count but splits the cube into 8 × 8 tiles, one per blue step, with red across each tile and green down it. A Hald image instead runs red, then green, then blue along its rows.
Not exactly, once it is baked into a file. A LUT stores only samples, clipped values are gone, and several input colors can map to the same output, so there is no clean way back. Until export, keep the LUT apart from the image as an effect. CE.SDK effects are non-destructive, so removing the LUT filter brings back the original colors.
Effects on a block run in stack order, each one working on the output of the effects before it. A LUT filter added after brightness and contrast adjustments works on the adjusted colors, so changing the order changes the result.
Links
Documentation and references for this concept.
Video Editor SDK
Let your users color video clips with the same LUT filters they use on photos.
Create a Custom LUT Filter
Build a LUT from the identity image and apply it to a block.
Apply Filters and Effects
Apply built-in LUT filters, set their intensity and order the stack.
Related Terms
Effects
Visual processing layers applied on top of a block's fill to modify its appearance, including LUT-based color filters, a…
Asset Source
A data provider that supplies a collection of assets (images, videos, fonts, stickers, templates, shapes, or any other a…
Photo Editor
A CE.SDK Starter Kit focused on single-image editing, initializing with an image filling the page and surfacing tools fo…
Video Editor
A CE.SDK Starter Kit for timeline-based video creation and editing, surfacing clip trimming, splitting, reordering, and …



