HSV to HSL Converter

Color Picker · developer

Convert HSV values to HSL with a fixed input and output format, live preview of the conversion line, and copy-ready results. All processing runs locally in your browser.

Calculator

From: HSV (hue, saturation, value)

To: HSL (hue, saturation, lightness)

About HSV

HSV (also called HSB in some apps) uses hue, saturation (0–100%), and value/brightness (0–100%). It aligns with how many color wheels behave.

About HSL

HSL uses hue (0–360°), saturation (0–100%), and lightness (0–100%). It is convenient for adjusting perceived brightness and vividness.

How to convert HSV to HSL

Enter a valid HSV value in the calculator. The tool follows the pipeline below: parse your input, hold the color as sRGB (with alpha when relevant), then format the result as HSL.

Accepted shapes include CSS-like functions (e.g. rgb(...), hsl(...)) and compact comma-separated numbers where appropriate. Hex may include or omit the leading #.

Conversion procedure

  1. Parse HSV: accept hsv(h, s%, v%) (sometimes called HSB in other apps) with the same numeric conventions as HSL: hue 0–360°, saturation and value 0–100%. Again, these values are inputs only; the engine converts them to RGB next.
  2. Convert HSV → sRGB: S and V (value / brightness) are scaled to 0–1. Chroma C = V × S. As with HSL, hue selects which two of R,G,B carry the chroma and intermediate values; m = V − C is added to each channel before scaling to 0–255 with rounding and clamping.
  3. Build HSL: RGB is normalized to 0–1. Lightness L = (max + min)/2. Saturation S is 0 if max = min; otherwise S = (max − min) / (max + min) when L ≤ 0.5, or S = (max − min) / (2 − max − min) when L > 0.5. Hue (0–360°) is derived from which channel is maximal and the differences between channels. The page displays integer degrees and whole-number percentages: hsl(h, s%, l%).
  4. Finalize: the result string is what you copy from the calculator. The line under the fields summarizes the path in short form (HSL ← sRGB ← HSV). Rounding is intentional so values read like typical CSS; tiny differences versus other apps can still appear because of integer hue, saturation, lightness/value, or ink percentages.
  5. HSL/HSV reminder: when hue, saturation, and lightness/value are shown as whole numbers, more than one underlying RGB can produce the same text. Typing those integers back into a converter may therefore differ by ±1 from a color you first picked as HEX in the Color Picker—that is expected rounding behavior, not a broken formula.

Example

Input (HSV): hsv(204, 76%, 86%)

Output (HSL): hsl(204, 70%, 53%)

Summary

This page converts HSV input into HSL output. The numbered “Conversion procedure” above is the full breakdown: validation and parsing, conversion to a single internal sRGB (+ alpha) sample, derivation of HSL coordinates from that sample, and final rounding to the strings you see in CSS-oriented tools. The same pipeline runs in your browser as you type.

Relationship context

HSV (hue, saturation, value) and HSL (hue, saturation, lightness) are different ways to describe the same sRGB color (except CMYK, which is an approximate ink model). Converting HSV → HSL does not change the underlying color within the limits of each notation; it only changes how numbers are written.

Example conversions

Sample HSV values and the matching HSL output using the same rules as the calculator.

HSV inputHSL output
hsv(0, 100%, 100%)hsl(0, 100%, 50%)
hsv(120, 100%, 50%)hsl(120, 100%, 25%)
hsv(204, 76%, 86%)hsl(204, 70%, 53%)

More color format converters

Other dedicated pages (fixed input and output types). Open the Color Picker for the full list.