RGB Hex To HSV (Inspire)
Turn a hex color into hue, saturation, value
- hue
- saturation
- value
This is a tiny utility, and it's exactly what it says: give it a hex color string like #FFD500 and it spits out the three HSV components - hue, saturation, value - as floats. No mystery, no model, no VRAM. It's the kind of small conversion node you don't think about until a workflow needs it, and then you're glad someone bothered to include it.
Where does a workflow need it? Mostly around color-driven logic. Inspire's own regional and color-mask nodes lean on colors to define regions, and other nodes take HSV rather than hex. If you want to pick a color once as a familiar hex code and drive parameters off it - feed the hue into something, threshold on the value, whatever - this is the adapter between "the format humans type" and "the numbers nodes want."
How it works
Hex RGB and HSV describe the same color in two different coordinate systems. RGB gives you red/green/blue channels; HSV gives you hue (the color's position on the wheel), saturation (how vivid), and value (how bright). This node does the standard conversion math and hands back the three HSV numbers separately, so you can wire each one wherever it's needed. That's the whole operation.
It's genuinely just a converter - there's no image involved, no processing of pixels. Think of it as a calculator node.
The inputs and outputs
rgb_hex(STRING) - the hex color, e.g.#FFD500.- Outputs are three separate floats: hue, saturation, and value - each on its own output so you can route them independently.
That's the entire node. One string in, three floats out.
How to install it
ComfyUI Manager: Install Custom Nodes → search ComfyUI Inspire Pack → install → restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/ltdrdata/ComfyUI-Inspire-Pack
Then restart. Inspire Pack is Dr.Lt.Data's - the ComfyUI Manager and Impact Pack author - so it installs cleanly with no model downloads.
Common issues
There's not much that can go wrong with a converter this small, but two things: make sure the input is a valid hex string - the # prefix and six hex digits (#FFD500) is the safe format, and a malformed value is the only real way to trip it up. Second, know the scale the outputs use before you feed them somewhere else. Different tools express HSV on different ranges (hue as 0–360 or 0–1, saturation/value as 0–100 or 0–1), so if a downstream node reacts strangely, check whether it expects the same range this node emits and scale accordingly. Beyond that, it just works - it's a leaf utility, not something that fails in interesting ways.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| rgb_hex | STRING | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| hue | FLOAT | — |
| saturation | FLOAT | — |
| value | FLOAT | — |