What it does
Björn Ottosson’s interactive comparison places HSL and HSV beside Okhsv, Okhsl, HSLuv and an Oklch-based picker. The companion article explains how the models balance familiar controls, perceived colour changes and the limits of sRGB.
The columns expose hue, saturation or chroma, and lightness or value controls. The Oklch-based column is labelled OKLrCH: its lightness uses a remapping described in the article, rather than simply reproducing raw Oklab lightness.
A useful comparison is to change hue while keeping the other coordinates fixed, then inspect how brightness appears to change between models. The explanation separates perceived lightness, chroma and saturation from the convenience of fitting colours into a simple picker shape. These goals conflict; no model satisfies every property at once.
Okhsl aims to keep lightness and hue perceptually consistent while fitting the available sRGB colours into a cylinder. Its saturation scale still varies in perceived chroma, particularly near maximum saturation. The comparison is specifically about sRGB; wider-gamut and high-dynamic-range picking are left as further work.
For implementation, the article includes conversion code under an explicit MIT licence and links a combined C++ header. The notice must remain with redistributed copies or substantial portions of that code. This code licence is separate from rights to every illustration or other part of the site.
Strengths
- Conventional and perceptual models appear in one comparison.
- The explanation connects visible picker behaviour to specific design trade-offs.
Watch out for
- The comparison is scoped to sRGB rather than wider-gamut or HDR picking.
- Okhsl does not make equal saturation changes correspond to equal perceived chroma changes.
Best for
- Designers and developers choosing the behaviour of a colour-input control.
Sources
- Interactive color picker comparison (Oct 28, 2026)
- Two new color spaces for color picking - Okhsv and Okhsl (Oct 28, 2026)
