ForHosting KIT · Images

HSV to RGB converter

Turn an HSV pick into screen channels: hue 210, saturation 70% and value 80% give rgb(61, 133, 204), or #3d85cc, using the classic six-sector formula. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
H
210
S
70
Voltage (V)
80
You get
Value
80
Hue
210
Saturation
70
Resistance (Ω)
61

Enter hue from zero through three hundred sixty degrees, saturation from zero through one hundred percent, and value from zero through one hundred percent; the tool runs the classic six-sector formula, returns r, g, and b from zero through two hundred fifty-five, and also ships a hex string, a ready-to-paste CSS rgb() form, and step-by-step intermediate chroma math.

What HSV means and how RGB is derived

HSV stands for hue, saturation, and value—a cylindrical model that matches how many people pick colors in design software more closely than raw red-green-blue sliders. Hue is an angle on the color wheel measured in degrees: zero and three hundred sixty both land on pure red, sixty is yellow, one hundred twenty is green, one hundred eighty is cyan, two hundred forty is blue, and three hundred is magenta.

Saturation is how far the color sits from gray toward full chroma, expressed here as a percentage from zero (no color, only gray levels) through one hundred (maximum purity for that hue and brightness). Value is brightness from zero (black, regardless of hue) through one hundred (the brightest version of that hue and saturation).

The conversion to RGB first normalizes saturation and value into the unit interval zero through one, computes chroma C equals V times S, intermediate X from the fractional position within a sixty-degree sector, and match m equals V minus C, then assigns the ordered triple of primed channels according to which of the six sixty-degree sectors the hue falls into. Finally each channel is scaled by two hundred fifty-five and rounded to an integer.

Understanding the difference from HSL matters for people who searched for the wrong acronym: lightness in HSL is not the same axis as value in HSV, so feeding HSL numbers into this tool would produce the wrong RGB. Prefer HSV when your source already labels channels as hue, saturation, and value or brightness.

Practical tips, limits, and related searches

Prefer sending the same percentage scale your design tool exported for saturation and value; do not send unit-interval zero-through-one fractions unless you first multiply by one hundred, because a saturation of zero point seven would be read as less than one percent and look nearly gray. Hue three hundred sixty is accepted and treated as zero so exports that use a closed wheel do not fail.

Prefer this capability when you already have HSV and only need the three channel integers, a hex token, or a css rgb() string; if your pipeline starts from hex, use a dedicated hex-to-RGB path, and if you must round-trip through many spaces, use a multi-format converter instead.

Color-picker export to CSS and canvas

Developers take HSV from a custom picker or design export and receive exact r, g, b integers plus css and hex strings for stylesheets and Canvas fills.

Teaching the six-sector HSV formula

Students compare hand-written sector, chroma, and scaled channels against the deterministic steps array before submitting graphics homework.

What ranges does the HSV to RGB converter accept?

Hue h from 0 through 360 degrees, saturation s from 0 through 100 percent, and value v from 0 through 100 percent.

Is HSV the same as HSL?

No. Both use hue and saturation names, but value (brightness) is not the same as lightness. This tool implements HSV only; do not feed HSL triples and expect correct RGB.

What do r, g, and b represent?

Red, green, and blue channel intensities as integers from 0 through 255.

What happens if saturation is outside 0–100?

The value is not clamped. Failed validation is not charged.

Is the HSV to RGB converter free?

The browser tool is free and runs locally.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/color/hsv-rgb

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/color/hsv-rgb \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"h":210,"s":70,"v":80}'
{
  "h": 210,
  "s": 70,
  "v": 80
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "color.hsv_rgb",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

h_min0
h_max360
s_min0
s_max100
v_min0
v_max100
HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

An HSV to RGB converter takes a color described by hue on the wheel, saturation as a percentage of pure chroma, and value as brightness, then maps those three numbers into the integer red, green, and blue channels every screen, canvas API, and design token system still speaks natively. Saturation outside the zero-to-one-hundred range is rejected with a clear invalid_input error instead of inventing a clipped color.

How to call the API and what comes back

Send a JSON body with three required finite numbers: h for hue in degrees zero through three hundred sixty (aliases hue and H), s for saturation as a percentage zero through one hundred (aliases saturation and S), and v for value as a percentage zero through one hundred (aliases value, V, and brightness). Surrounding string numbers that match a strict finite numeric pattern are accepted and coerced the same way as JSON numbers. On success the response echoes rounded h, s, and v together with hue, saturation, and value aliases, integer fields r, g, and b with red, green, and blue aliases, an rgb array of three numbers, a lowercase hex string with a leading hash, a css string of the form rgb(r, g, b), a css_hsv string summarizing the input percentages, a sector index from zero through five for the sixty-degree bucket used, a short English message, and a steps array that shows normalization, chroma, sector assignment, and final scale lines for debugging or teaching. Failed validation—missing fields, non-finite numbers, hue outside zero through three hundred sixty, value outside zero through one hundred, or saturation outside zero through one hundred—returns invalid_input and is never charged. Pricing is a flat $0.002 per successful request with unit item and zero marginal unit price.

Practical tips, limits, and related searches

Failed tasks that return invalid_input do not consume prepaid balance, which keeps exploratory scripts and form validation cheap while learners paste imperfect clipboard values or probe the saturation bounds on purpose.

Unit tests for theme and palette fixtures

Generate known-good RGB triples from HSV fixtures so visual regression and brand-token tests assert stable channel values and reject out-of-range saturation.

Read the full KIT documentation →