HSL adjuster — shift hue, saturation and lightness of any colour

Enter a colour, then rotate its hue by up to 180° either way and add or remove saturation and lightness, and the adjuster shows the new HEX and RGB with HSL values before and after.

Live demo · real result from this tool
Adjusted#523bf6
HSL before
hsl(217.2, 91.2%, 59.8%)
HSL after
hsl(247.2, 91.2%, 59.8%)
RGB
rgb(82, 59, 246)

Colours

Processed on your device — nothing is uploaded.

How to use the HSL adjuster

  1. Enter the Colour.
  2. Drag Hue shift between −180° and +180° to rotate round the colour wheel.
  3. Drag Saturation (−100 to +100) to make the colour more vivid or greyer.
  4. Drag Lightness (−100 to +100) to make it lighter or darker.
  5. Read the Adjusted HEX, compare HSL before and HSL after, and check the before-and-after swatches.

What it does and when to use it

HSL describes a colour as a hue angle, a saturation and a lightness, which matches how many people talk about colour: “same blue, but less intense”, “a bit warmer”, “darker”. The adjuster lets you make those changes with three sliders and see the exact numbers.

Typical uses are making a muted variant of a brand colour for backgrounds, warming or cooling an illustration colour, creating a disabled state by removing saturation, or exploring nearby hues for a chart series. For a pure lightness change with more methods, use lighten / darken. For fixed harmony angles such as triadic, see colour harmonies. To remove colour completely with a choice of formulas, the grayscale converter is more precise.

How it works

The colour is converted from RGB to HSL. Then:

  • new hue = (hue + shift) wrapped into 0–360°
  • new saturation = saturation + change, limited to 0–100%
  • new lightness = lightness + change, limited to 0–100%

The result is converted back to RGB and HEX. Transparency is kept.

Worked examples

These are the adjuster’s own results.

Red to green. #ff0000 with a +120° hue shift gives #00ff00: hsl(0, 100%, 50%) becomes hsl(120, 100%, 50%).

Removing saturation. #3b82f6 with saturation −100 becomes #999999. HSL after reads hsl(0, 0%, 59.8%): same lightness, no colour.

Three changes at once. #3b82f6 with hue −180°, saturation −30 and lightness +10 gives #e1bd83, a sand colour. HSL goes from hsl(217.2, 91.2%, 59.8%) to hsl(37.2, 61.2%, 69.8%).

Limits and tips

  • HSL lightness is not perceived lightness. If you need even-looking steps, change lightness in OKLCH with the lighten / darken tool instead.
  • Large lightness changes push colours to pure white or black, which loses the hue entirely.
  • Everything runs in your browser.

Frequently asked questions

Are the saturation and lightness sliders relative or absolute?
They add or subtract percentage points. A colour at 91.2% saturation moved by −30 ends at 61.2%, not at 70% of its old value. Results are capped between 0% and 100%.
Why does the hue slider start at 30°?
The default is 30°, so the first result already shows a shifted colour. Set it to 0° to leave hue alone and adjust only saturation or lightness.
What happens to the hue when I remove all saturation?
A fully desaturated colour is a grey and has no hue, so the result shows hue 0. Blue
Why does the same hue shift change brightness?
HSL keeps its lightness number fixed, but different hues at the same HSL lightness do not look equally bright. Shifting a blue toward yellow, for example, makes it look lighter even though L stays the same.
Does this work like the hue/saturation adjustment in image editors?
It is similar in spirit, but it works on one colour value, not on an image. For a single brand or UI colour it gives you exact numbers to copy.

Written by the ToolsRift team · Last updated

Pages are drafted with AI assistance and checked by automated tests. How we write and check pages.

Was this tool useful?

Report a problem

Start typing to search every tool.

↑ ↓ to moveEnter to openEsc to close