OKLCH is a perceptually uniform color space that represents colors using Lightness, Chroma, and Hue.

Color Scale

%
C
°
1
2
3
4
5
6
7
8
9

Convert

oklch(0.836 0.133 173.7)

Why OKLCH?

Perceptual Uniformity

One of the biggest advantages of OKLCH is its perceptual uniformity. Unlike RGB or HSL, which can distort how we perceive color differences, OKLCH is designed so that equal changes in its values correspond to equal changes in how we see the color. In simple terms, this means colors in OKLCH are more accurate to human vision. For example, a small shift in hue or saturation in OKLCH produces a similarly small visible change, whereas the same tweak in HSL or RGB might result in a disproportionately big jump or barely any visible change at all.

In RGB or HEX (which is just RGB in hexadecimal form), the three numbers (for red, green, blue) do not relate intuitively to what we perceive. Two colors can be numerically very different yet look surprisingly similar, or vice versa. HSL was an attempt to make color definitions more intuitive by using Hue, Saturation, Lightness, but it still isn't truly perceptual. For instance, in HSL the saturation scale from 0% to 100% is the same for every hue, but our eyes don't perceive saturation equally for all colors

Bright yellow at 100% saturation is far lighter to our eyes than 100% saturated blue, even if HSL treats them as the same “vividness.” By contrast, OKLCH is built on a modern color model (Oklab) that takes human vision into account. Its three components – L (lightness), C (chroma), and H (hue) – map more directly to how we see light/dark, dull/vivid, and color tone. The result is a color space where a given numeric difference has a predictable visual difference, greatly improving color accuracy in design work.

Consistent Lightness Handling

HSL's lightness values can be misleading—two colors at 50% lightness may appear vastly different. OKLCH's L (lightness) aligns with human perception, so brightness adjustments remain accurate across all hues, making it easier to create balanced themes.

Improved Accessibility

Because OKLCH's lightness values directly correlate with contrast, it simplifies creating accessible color palettes. Unlike HSL, where contrast can fluctuate unpredictably, OKLCH ensures text and background colors retain consistent readability.

Easier Color Manipulation

OKLCH's L (lightness), C (chroma), and H (hue) are independent, meaning changes to one won't cause unexpected shifts in another. Want a lighter shade? Increase L. Need a duller tone? Lower C—no more trial and error.

Real-World Applications & Adoption

OKLCH is supported in modern CSS, with growing adoption in design tools. It also enables wide-gamut colors, making it ideal for high-end displays.