HSV to RGB

Convert HSV / HSB colors to RGB values.

Type a HSV value or pick a color – the result updates instantly.

​

Preview

HSV to RGB Converter

Turn hue, saturation, and value into the red, green, and blue channels that screens, APIs, and image libraries understand. For example, hsv(120, 50%, 75%) converts to rgb(96, 191, 96), a medium leaf green. Enter values as hsv() notation or as three plain numbers.

The algorithm in four steps

HSV describes a color on a hexagonal cone; RGB describes it on a cube. The conversion maps one to the other:

  1. Chroma: C = V × S – the spread between the strongest and weakest channel.
  2. Sector: divide the hue by 60 to find which of the six 60° slices of the wheel the color is in.
  3. Middle channel: X = C × (1 − |(H / 60) mod 2 − 1|).
  4. Offset: m = V − C, added to every channel before scaling to 0–255.
Hue range (R, G, B) before offset
0–60° (C, X, 0)
60–120° (X, C, 0)
120–180° (0, C, X)
180–240° (0, X, C)
240–300° (X, 0, C)
300–360° (C, 0, X)

Worked example

For hsv(120, 50%, 75%): C = 0.75 × 0.5 = 0.375 and m = 0.75 − 0.375 = 0.375. A hue of exactly 120° lands in the 120–180° row and gives X = 0, so the channels are (0, 0.375, 0) + 0.375 = (0.375, 0.75, 0.375). Multiplying by 255 gives 95.6, 191.25, and 95.6, which round to rgb(96, 191, 96) – or #60BF60 in HEX.

When you need RGB output

  • Canvas and WebGL: drawing APIs take numeric channels, while color logic (for example, cycling hues in an animation) is simpler in HSV.
  • Hardware: RGB LED strips and displays need per-channel values, even if the user picks colors on a hue wheel.
  • Data visualization: generating evenly spaced hues for chart series and converting each to RGB for the renderer.

To get a HEX code directly, try HSV to HEX. For the reverse direction, use RGB to HSV.

Frequently Asked Questions

Compute chroma C = V × S, an intermediate X = C × (1 − |(H / 60) mod 2 − 1|), and m = V − C. Depending on which 60-degree sector the hue falls in, (R, G, B) is a permutation of (C, X, 0); add m to each and multiply by 255.

Standard 8-bit RGB stores each channel as an integer from 0 to 255, so the exact result is rounded to the nearest whole number. For example, hsv(120, 50%, 75%) gives 95.6 for red and blue, which rounds to 96.

With 0% saturation all three channels are equal, producing a gray. The level is set by value alone: hsv(45, 0%, 50%) is rgb(128, 128, 128), no matter what the hue is.

Yes. HSB and HSV are the same color model with different names, so you can type the H, S, and B numbers from any Adobe color picker directly.