Charts · 02
Why HSL lies
Ask HSL for twenty-four hues at fifty percent lightness and you get a yellow you can barely look at next to a blue that is nearly navy. The number is the same; the light reaching your eye is not. CIELCH and OKLCH define lightness by how bright a colour looks, so the same request gives an even row. Every luminance here is computed from the swatch you are looking at.
HSL
L = (max + min) / 2 of the RGB channels. Blue and yellow at the same L differ by a factor of nine in luminance.hsl(hue 90% 50%)
Brightest swatch is 12.2× the luminance of the darkest.
- 19
- 23
- 34
- 54
- 83
- 74
- 68
- 65
- 64
- 64
- 65
- 67
- 70
- 41
- 22
- 11
- 7
- 8
- 11
- 17
- 26
- 23
- 21
- 20
CIELCH
L* from CIELAB, a cube root of luminance. Even, but hues drift as chroma changes and some swatches leave sRGB (hatched).lch(53% 38 hue)
Brightest swatch is 1.0× the luminance of the darkest.
- 21
- 21
- 21
- 21
- 21
- 21
- 21
- 21
- 21
- 21
- 21
- 21
- 22
- 22
- 22
- 22
- 22
- 21
- 21
- 21
- 21
- 21
- 21
- 21
OKLCH
L from Oklab: cone responses, cube root, a fitted matrix. Even lightness and hues that stay put. Gamut is built on it.oklch(0.60 0.10 hue)
Brightest swatch is 1.1× the luminance of the darkest.
- 20
- 20
- 20
- 20
- 21
- 21
- 21
- 22
- 22
- 22
- 23
- 23
- 23
- 23
- 22
- 22
- 22
- 21
- 21
- 21
- 20
- 20
- 20
- 20
Chips are the colours; the bars beneath are their measured relative luminance (WCAG formula), on one scale across all three rows. Hatched chips fall outside sRGB and are shown clipped.