HSL (Hue, Saturation, Lightness) is the most common color model in web design. It is based on a mathematical transformation of RGB values, which are themselves based on how screens produce light rather than how humans see it. The result: equal HSL lightness values do not look equally light across all hues. A yellow at HSL(60, 70%, 50%) looks much brighter than a blue at HSL(240, 70%, 50%) — even though both have 50% HSL lightness. This perceptual inequality means that building a color scale in HSL by incrementing lightness values produces steps that look uneven: some steps appear larger than others depending on the hue involved. OKLCH solves this problem by using lightness and chroma values derived from how human vision works rather than how screens work.
In OKLCH, the three parameters are: L (perceptual lightness, 0–1 or 0–100), C (chroma, roughly 0–0.4+), and H (hue in degrees, 0–360). Equal L values produce equally bright colors regardless of hue — a yellow and a blue both at L:0.65 will look comparably bright to human observers. Equal C values produce equally saturated colors regardless of hue — something that HSL cannot achieve because different hues have different maximum achievable saturation. This perceptual uniformity is what makes OKLCH useful for systematic design: building a 9-step lightness scale in OKLCH produces visually even steps without manual correction, and building a harmonic palette with equal C values produces colors with equal visual weight.
OKLCH is supported in modern CSS via the oklch() color function, which means it can be used directly in production code without preprocessing. The syntax is: oklch(0.65 0.18 240) for a medium-lightness, moderately saturated blue. Browser support as of 2025: Chrome/Edge, Firefox, and Safari all support oklch() natively. Figma supports OKLCH via the color picker's 'OKLCH' mode in recent versions. Design tools that do not natively support OKLCH can use converter tools (oklch.com, bottosson.github.io/posts/oklab) to find OKLCH equivalents for any HSL or HEX color. The workflow: design and specify colors in OKLCH; export to HEX or HSL for tools that require it.