Color Picker
Use Color Picker to choose and convert color precisely — instant and free.
Convert a hex color into adjustable HSL — hue, saturation and lightness — the designer-friendly way to tweak a color.
Your browser is preparing the tool. It runs 100% locally.
Paste a hex color and this returns its HSL — hue in degrees (0–360), plus saturation and lightness as percentages — like #06B6D4 → hsl(189°, 94%, 43%). HSL is a designer-friendly way to read a color: hue says which color it is, saturation how vivid, lightness how light. That makes adjusting a color far more intuitive than editing raw hex.
Type a hex color and the tool shows it in HSL — the hue angle, the saturation percentage and the lightness percentage — plus the CSS hsl() string. It takes three- or six-digit hex, repaints a swatch, and recalculates as you type. It opens on #06B6D4, a bright cyan.
HSL earns its keep when you want to change a color rather than just record it. Need a darker shade? Lower the lightness. A muted version? Drop the saturation. A complementary hue? Add 180 to the hue angle. A raw hex hides all of that; HSL puts it on three readable dials.
First the tool reads the hex as RGB — the same base-16 split the HEX-to-RGB tool uses — then transforms those three numbers into HSL, a cylinder where the angle around it is hue, the distance from the centre is saturation, and the height is lightness.
Lightness comes out as the midpoint of the brightest and darkest channel; saturation is how far apart those two are, relative to that lightness; hue is the angle of whichever channel dominates. The three results are rounded to whole numbers and shown alongside the ready-to-paste hsl() string.
No data is fetched. The tool reads the hex as an sRGB color, then applies the standard RGB-to-HSL geometry from the CSS Color specification — finding the maximum and minimum channels and deriving hue, saturation and lightness — all in the page.
R, G, B scaled to 0–1; max, min of the three; Δ = max − min
L = (max + min) / 2
S = Δ / (max + min) for darker colors (L ≤ 50%)
S = Δ / (2 − max − min) for lighter colors (L above 50%)
H = 60° × the hue sector of the dominant channel#FF0000 → rgb(255, 0, 0) → hsl(0°, 100%, 50%) (pure red)#06B6D4 → rgb(6, 182, 212) → hsl(189°, 94%, 43%)When max and min are equal the color is a gray, so saturation is 0 and hue is undefined — reported as 0°. All three values are rounded to whole numbers, so a hex → HSL → hex round-trip can shift by a step.
| Input | Hex #RRGGBB or #RGB shorthand |
|---|---|
| Output | H (0–360°), S and L (0–100%) plus hsl() |
| Route | Hex → RGB → HSL |
| Lightness | (max + min) / 2 of the channels |
| Rounding | Whole degrees and percentages |
| Gray | Saturation 0, hue reported as 0° |
| Reversible | Approximate — values are rounded |
| Where it runs | In your browser, live |
HSL here is rounded to whole degrees and percentages. That's fine for CSS, but it means a hex → HSL → hex round-trip can land a step off the original. For an exact, reversible pair, use HEX and RGB instead.
HSL is a simple transform of sRGB, not a perceptual space. Two colors at the same lightness number can look noticeably different in brightness to the eye — yellow reads far lighter than blue at the same L. That's a known limitation of HSL, not a fault in the tool; for perceptually even ramps, designers now reach for newer spaces like OKLCH.
For a pure gray, where red, green and blue are equal, hue has no meaning. The tool reports 0°, which is the usual convention, and saturation is 0.
Hold the hue and saturation steady and step the lightness up or down to generate a consistent shade ramp from one color.
Change only the saturation to make a color calmer or more vivid without shifting which color it is.
Shift the hue angle to reach a complementary color (add 180°) or analogous neighbours (±30°) for a quick scheme.
See 'a vivid cyan, fairly light' in the numbers, instead of decoding a hex string in your head.
Need an exact round-trip? Use HEX to RGB. Want perceptual uniformity for accessible ramps? Look at OKLCH. Building a whole scheme at once? Try the color palette generator.
Lightness is the midpoint of the brightest and darkest channel and the values are rounded to whole numbers — great for CSS, but use HEX and RGB when you need an exact round-trip.
Use Color Picker to choose and convert color precisely — instant and free.
Use HEX to RGB Converter to choose and convert color precisely — instant and free.
Use Color Palette Generator to choose and convert color precisely — instant and free.
Use Gradient Generator to choose and convert color precisely — instant and free.
Use Contrast Checker to choose and convert color precisely — instant and free.
RGB to HEX Converter with copy-ready values for design and front-end work.
It is free, private and runs entirely in your browser — no sign-up, no uploads, no limits.