RGB to HSL

A direct geometric transform, so it is lossless and reversible.

Paste a RGB value. Other formats work too.

HSL
hsl(195.6 100% 45.3%)

Need every format at once? Open in the full picker

Worked examples

Common colors converted from RGB to HSL, computed with the same engine the picker uses.

ColorRGBHSLCopy
Pure redrgb(255 0 0)hsl(0 100% 50%)
Pure greenrgb(0 255 0)hsl(120 100% 50%)
Pure bluergb(0 0 255)hsl(240 100% 50%)
Whitergb(255 255 255)hsl(300 100% 100%)
Mid grayrgb(128 128 128)hsl(300 0% 50.2%)
Blackrgb(0 0 0)hsl(0 0% 0%)
Interface bluergb(66 135 245)hsl(216.9 89.9% 61%)
Success greenrgb(34 197 94)hsl(142.1 70.6% 45.3%)
Danger redrgb(239 68 68)hsl(0 84.2% 60.2%)
Warning amberrgb(245 158 11)hsl(37.7 92.1% 50.2%)
Editor blackrgb(30 30 30)hsl(0 0% 11.8%)
Warm sandrgb(233 196 106)hsl(42.5 74.3% 66.5%)

How the conversion works

A direct geometric transform, so it is lossless and reversible.

Both formats are computed from a single canonical representation (CIE XYZ with a D65 white point, held in floating point) rather than by chaining one format into the next. That matters because chained conversions accumulate rounding error, and because it means a color that cannot be represented in the target format is handled deliberately rather than by accident.

When the source describes a color outside the target's gamut, chroma is reduced in OKLCh while lightness and hue are held, following the CSS Color 4 gamut mapping algorithm. Clipping each channel independently would be simpler but visibly shifts hue on saturated colors.

Related conversions