RGB Color Picker
Stop typing hex codes — this node gives you a real color wheel
- hex_color
- hex_color_rgba
ComfyUI is great at pixels and terrible at "just give me a color." When a workflow needs a solid hex value - a brand color for a background, a tint for an overlay, a text color for a caption node - you usually end up typing #RRGGBB into a widget blind, then running the graph to see if you guessed right. The RGB Color Picker from TJ16th's TJ_ComfyUI_ColorUtility pack replaces that loop with an actual color wheel, an SV square, and an alpha bar, and hands you the hex on the other side.
What it is
A small visual color picker that lives inside a node. Drag the hue ring, drag the saturation/brightness square, slide the alpha bar, and the node's red/green/blue/alpha inputs update in real time. The Python side is deliberately trivial - clamp four integers to 0–255 and format them as hex - because the entire point of the node is the frontend. All the drawing happens in the pack's js/rgb_color_picker.js: a canvas-rendered wheel, pixel-exact HSV→RGB conversion in the square, a checkerboard behind the alpha preview, and corner snapping so dragging to the top-left gives you pure white and the bottom-right pure black. It's HiDPI-aware, so it doesn't look like smeared mush on a scaled display.
There's no API call, no key, no model file anywhere in the pipeline. This is one of those rare utility nodes where "works offline, works forever" is the feature.
The inputs and outputs that matter
All four inputs are plain integers: red, green, blue, and alpha, each 0–255, defaulting to 255, 0, 0, 255 - opaque red. You can drive them by dragging the wheel or typing numbers; they stay in sync either way.
It outputs two strings:
hex_color-#RRGGBB, the classic six-digit formhex_color_rgba-#RRGGBBAA, which adds the alpha channel
The two outputs exist for compatibility: some downstream nodes choke on the 8-digit form, so you get both. They're plain STRINGs, which means you can wire the same color into several places, and read it with comfyui-custom-scripts' Show Text to double-check what you picked.
Where it fits in a workflow
Honestly, this node's job is small but annoying to do any other way: give you one trustworthy hex code. Because the output is text, it composes with anything that takes a color string - solid-fill nodes, overlay/tint utilities, palette nodes like the pack's own Color Palette, even prompt text if you're building a workflow that names colors. It's a "set once, reuse everywhere" node rather than a per-image one.
How to install it
This pack ships no requirements.txt and downloads no models - it's just Python plus the bundled JS, and its only real dependency (numpy) is already part of ComfyUI. Install via ComfyUI Manager by searching "TJ_ComfyUI_ColorUtility" (or the display name "RGB Color Picker"), or clone it manually:
cd <ComfyUI>/custom_nodes
git clone https://github.com/TJ16th/TJ_ComfyUI_ColorUtility.git
then restart ComfyUI. The README suggests cloning into a folder named tj_ComfyUIUtil - the folder name doesn't matter, any name works, just remember where you put it so you can git pull updates later.
Things to know before you trust it
The visual picker is a browser-frontend feature. If you're running ComfyUI headless (API mode, batch generation), you get the node's current slider values, not a wheel - set the values once in the UI and save the workflow, and they'll be what headless runs use. And because the picker is frontend code, after a ComfyUI update that rewrites the UI, a hard refresh (Ctrl/Cmd+Shift+R) is the first thing to try if the wheel ever renders oddly.
Don't expect a community around it yet. This is a new, zero-download pack with essentially no track record - the code is clean and dependency-free, but there's no battle-tested corpus of workflows built on it. For a color utility, that's fine: the mechanism is simple enough to trust from reading the source.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| red | INT | 2550–255 | — |
| green | INT | 00–255 | — |
| blue | INT | 00–255 | — |
| alpha | INT | 2550–255 | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| hex_color | STRING | — |
| hex_color_rgba | STRING | — |