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.
Hue 60°
Hover, tap or arrow through any chip to inspect that hue in all three models.
| Model | Value | Shown as | Relative luminance | On white | On black |
|---|---|---|---|---|---|
| HSL | hsl(60 90% 50%) | #f2f20d | 0.826 | 1.2:1 | 17.5:1 |
| CIELCH | lch(53% 38 60) | #ad7247 | 0.214 | 4.0:1 | 5.3:1 |
| OKLCH | oklch(0.60 0.10 60) | #ab703e | 0.207 | 4.1:1 | 5.1:1 |
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.