Glance at the summary firstThe summary from the end of the lesson, as a road map before you start reading.
- CIELAB is a color space proposed by the CIE in 1976 and derived from XYZ values, aiming for equal distances to approximate equal perceived differences; MacAdam's 1942 ellipses had clearly shown this need.
- L shows lightness, a the red–green axis, and b the yellow–blue axis; negative a indicates the green side. The same space can also be written in LCh form, that is, as lightness, vividness, and direction, and the values depend on the chosen white point.
- CIELUV uses the same lightness but is common in lighting and screens because it represents additive light mixtures with straight lines, while CIELAB is common for surface colors; neither one is perfectly uniform.
Short answer
CIELAB is a color space proposed in 1976 by the International Commission on Illumination (CIE) that describes a color with three numbers: L shows lightness, a shows the color's position between red and green, and b shows its position between yellow and blue. Its goal is for equal distances in the space to come as close as possible to equal differences seen by the eye. A negative a value means the color sits on the green side; the more negative it is, the stronger the green component.
Why isn't XYZ enough?
The foundation of color measurement is the CIE standard observer, defined in 1931, and its three values: X, Y, and Z. When you multiply a color's spectrum by the matching functions that represent the eye's three cone types, you get these three numbers, and two colors with the same XYZ values look identical to the standard observer. How this system was built is the subject of BI-17, and its famous horseshoe-shaped diagram is the subject of BI-18.
XYZ is a color-matching system: it tells you whether two colors will look the same. But it fails to tell you how different two colors look. The Y value is proportional to the physical amount of light, while our perception of lightness doesn't increase linearly with that amount: we notice small differences in dark tones far more easily than equally sized differences in bright tones. A similar problem exists on the color side too.
The most famous evidence of this problem is David MacAdam's 1942 study. MacAdam recorded more than twenty-five thousand color-matching trials made by a single observer and drew the color ranges the eye couldn't distinguish as ellipses in different regions of the chromaticity diagram. The ellipses differed hugely from one another in both size and orientation: very large in the diagram's green region, very small in the blue and purple region. In other words, the same distance on the diagram meant an invisible difference in one place and an obvious difference in another.
The goal of perceptual uniformity
The MacAdam ellipses laid out a clear goal: a space needed to be built in which color pairs the eye sees as equally different sit at equal distances. In such a space, the ellipses would turn into circles of the same size everywhere.
In the thirty years after MacAdam, many proposals moved toward this goal. In 1976, the CIE proposed two spaces together: CIELAB and CIELUV. Both are calculated from XYZ values through nonlinear transformations, and both come much closer to perception than XYZ does. Neither is perfect; the CIE introduces them as spaces "closer to uniform." Today, CIELAB's calculation method is published as a joint standard of ISO and the CIE.
Three axes: L, a, and b*
CIELAB is a three-dimensional space that resembles a color sphere. The vertical axis is lightness; the two axes in the horizontal plane together carry the color's hue and vividness.
L is lightness and ranges between 0 and 100: 0 is black, 100 is the reference white. One property of L is that it mimics the eye's perception of lightness: a value of 50 doesn't correspond to a surface that physically reflects half as much light as white, but to the gray the eye sees as exactly halfway between black and white. This gray reflects about one-fifth of white's light.
The a axis runs between red and green: positive values go toward red, negative values toward green. The b axis runs between yellow and blue: positive values go toward yellow, negative values toward blue. The zero point of both axes is neutral; a color whose a and b values are zero is white, gray, or black, whatever its lightness.
These two axes weren't chosen at random. According to opponent process theory, covered in BI-11, the visual system processes color through mutually exclusive pairs like red–green and yellow–blue; that's why you can't imagine a "reddish green." CIELAB's axes mimic this structure: a color can't have both a positive and a negative a* value at the same time, just as it can't look both reddish and greenish at the same time.
This is where the answer to the question on the lesson card comes from: a negative a value means the color sits on the green side of the red–green axis. When you calculate a few sRGB colors, the pattern is clear. The screen's pure green (#00FF00) gives roughly L 88, a −86, b 83: very light, very green, with a strong yellow component. Sea green (#2E8B57) gives L 52, a −40, b 20. A turquoise close to cyan (#00A0A0) sits on the green side with a −34 while crossing to the blue side with b −10. Even pure yellow (#FFFF00) sits slightly on the green side with a −22. A negative a* doesn't just mean "green"; it shows the green share inside that color.
The conversion from XYZ to CIELAB
The conversion has three steps, and each one represents a property of perception.
The first step is choosing a reference white. The color's X, Y, and Z values are divided by the Xn, Yn, and Zn values of the reference white under the same light. This is a rough model of the adaptation covered in BI-13: the color is judged against the scene's white. For screens, the daylight white called D65 is usually used; the printing industry most often uses D50.
The second step is a compression function. Each of the divided values is given an approximate cube root; for very dark values, a short, linear segment is used to prevent the cube root's slope from going to infinity. The cube root mimics the way perception grows more slowly as brightness increases.
The third step is combining these compressed values. L is found by taking 116 times the compressed Y value and subtracting 16; this puts black at 0 and white at 100. a is 500 times the difference between the compressed X and Y; b* is 200 times the difference between the compressed Y and Z. These differences are the numerical counterpart of the subtraction performed in the opponent channels.
You don't need to memorize these formulas; color software and measuring instruments do the calculation automatically. What matters is knowing which white point a Lab value was calculated against. The same physical color gives different Lab values against the D65 and D50 whites; values calculated with two different whites aren't directly comparable.
Angle and chroma: LCh
a and b are Cartesian coordinates, and they aren't intuitive: they don't separately tell you "how vivid" a color is and "which color" it is. For that, the same space is also expressed in polar coordinates.
Chroma is the color's distance from the neutral axis: the square root of the sum of the squares of its a and b values. Zero chroma is a neutral gray; as chroma increases, the color becomes more vivid. Hue angle is the direction the color sits in on the a–b plane, measured in degrees: 0° is the positive a direction, meaning reddish; 90° is positive b, meaning yellowish; 180° is negative a, meaning greenish; 270° is negative b, meaning bluish.
The LCh description overlaps with the intuitive trio from DT-01, value, saturation, and hue: L is value, C is a vividness measure close to saturation, and h is hue. That's why design tools and modern color pickers often work with LCh or its derivatives instead of Lab. Keeping hue fixed and changing lightness means changing a single number in LCh.
The calculated values also reveal a subtlety of this structure. The screen's pure blue (#0000FF) is quite dark, at L 32; pure yellow (#FFFF00) is almost as light as white, at L 97. Even though the two colors look equally "pure" on screen, there's a 65-unit gap between their lightness values. The low contrast that yellow and orange give with white text, covered in UX-06, is a consequence of this pattern.
The difference from CIELUV
In 1976, the CIE proposed a second space alongside CIELAB: CIELUV. Both calculate lightness, that is, L*, with the same formula. The difference lies in the color axes.
CIELUV derives its color information from chromaticity coordinates called u′ and v′. The u′v′ diagram is a more uniform version of the 1931 xy diagram and preserves one important property: the additive mixture of two lights sits on the straight line joining the two lights in this diagram. That's why CIELUV and the u′v′ diagram are common in fields that deal with light sources, lighting, and screens; the color consistency of LEDs, for example, is often judged in the u′v′ plane.
CIELAB doesn't have this linearity, but it generally represents color differences better for industries that work with surface colors, such as paint, textiles, printing, and plastics, and it has become close to a common language in those fields. As a rough rule, CIELUV is preferred for light and CIELAB for surfaces; neither space is perceptually perfect.
The limits of CIELAB
CIELAB is a big improvement over XYZ, but MacAdam's ellipses still don't turn into perfect circles in Lab space either. In some regions of the space, the same numerical distance is still perceived as differences of different sizes; the blue region is especially problematic, and when you simply lighten a blue, its hue can drift toward purple.
That's why, over time, more complex formulas that weight by region were developed to measure the difference between two colors, in place of the plain distance in Lab; these are the subject of BI-20. The new spaces proposed to better handle the problems in the blue region and high dynamic range are covered in BI-24.
Example — reading skin tone through numbers
In dermatology and cosmetics research, skin color is often measured with CIELAB. A colorimeter is placed against the skin, illuminates the surface with a standard light, and gives L, a, b* values. A measure derived from these values is also common: the individual typology angle, or ITA for short.
When we calculate four sample skin tones from their sRGB values, a striking pattern emerges. A light, pinkish tone (#F1C7A9) gives roughly L 83, a 11, b 21. A medium-warm tone (#C68863) gives L 62, a 20, b 29; a medium-dark tone (#8D5524) gives L 42, a 19, b 37; a very dark tone (#4A2C1D) gives L 21, a 12, b 16. All four have a hue angle between 52° and 63°, a narrow direction between red and yellow. In these four examples, what actually separates the skin tones from each other isn't hue, but lightness and chroma.
This carries a practical consequence for anyone who works with skin tone. A photographer, a makeup artist, or an image-processing software developer can think of different skin tones as a family with a fixed hue and a variable lightness and chroma. When a color correction renders one skin group accurately and another inaccurately, it usually comes from an imbalance in one of these two axes. But you must not forget that this is a demonstration made with four sample color values, not real skin measurements; the undertones of real skin still vary meaningfully within this narrow angle.
Common misconception
Common mistake"The distance between two colors in Lab always gives the difference the eye sees."
CIELAB is much closer to perception than XYZ, but its uniformity isn't perfect; especially in the blue region and in highly saturated colors, the same distance is seen as differences of different sizes.
Common mistake"A Lab value is a color's absolute, single definition."
A Lab value is calculated relative to the chosen white point and standard observer; values calculated with D65 and D50 differ from each other and must be brought to the same condition before comparison.
Summary
- CIELAB is a color space proposed by the CIE in 1976 and derived from XYZ values, aiming for equal distances to approximate equal perceived differences; MacAdam's 1942 ellipses had clearly shown this need.
- L shows lightness, a the red–green axis, and b the yellow–blue axis; negative a indicates the green side. The same space can also be written in LCh form, that is, as lightness, vividness, and direction, and the values depend on the chosen white point.
- CIELUV uses the same lightness but is common in lighting and screens because it represents additive light mixtures with straight lines, while CIELAB is common for surface colors; neither one is perfectly uniform.
Test yourself
- (Easy) Between which values does the L* axis range in CIELAB, and what do its ends show?
- (Easy) What does a positive b* value mean?
- (Medium) What does a negative a* value mean?
- (Medium) How are chroma and hue angle derived from a and b values?
- (Hard) Why do the MacAdam ellipses show the need for a perceptually uniform color space?
- (Hard) Can the same physical color have two different Lab values? Under what condition, and why?
Answers
- 0 and 100; 0 shows black, 100 shows the reference white ("Three axes: L, a, and b*").
- It shows that the color sits on the yellow side of the yellow–blue axis ("Three axes: L, a, and b*").
- It shows that the color sits on the green side of the red–green axis; the more negative the value, the stronger the green component. For example, the screen's pure green gives an a value of roughly −86, and sea green roughly −40 ("Three axes: L, a, and b").
- Chroma is the square root of the sum of the squares of the a and b values and shows the color's distance from the neutral axis; hue angle is the color's direction in the a–b plane and is measured in degrees ("Angle and chroma: LCh").
- The ellipses in the chromaticity diagram had very different sizes and orientations from region to region; in other words, the same distance on the diagram was an invisible difference in one place and an obvious one in another. A space where equal distances correspond to equal differences would have turned these ellipses into equal circles everywhere ("Why isn't XYZ enough?", "The goal of perceptual uniformity").
- Yes. Because Lab values are calculated relative to the chosen white point, the same color gives different values against the D65 and D50 whites; the two values must be brought to the same white point before comparison ("The conversion from XYZ to CIELAB").
Sources
- MacAdam, D. L., "Visual Sensitivities to Color Differences in Daylight," Journal of the Optical Society of America 32(5): 247–274, 1942.
- ISO/CIE 11664-4:2019, "Colorimetry — Part 4: CIE 1976 Lab* colour space."
- ISO/CIE 11664-5, "Colorimetry — Part 5: CIE 1976 Luv* colour space and u′, v′ uniform chromaticity scale diagram."
- Chardon, A., Cretois, I., and Hourseau, C., "Skin colour typology and suntanning pathways," International Journal of Cosmetic Science 13: 191–208, 1991.
Next step
BI-24 picks up where this lesson's limits leave off: it covers CIELAB's hue shifts in the blue region, the new spaces developed for high-dynamic-range images, and how spaces like OKLab have found their way into web standards. BI-20, meanwhile, turns the distance in the space into a measure: it discusses calculating the difference between two colors with the plain Euclidean distance and with formulas that weight by region, and it discusses the "just noticeable difference" threshold.