๐ฆ RS Color Picker
Pick a color once, get HEX_INT, HEX_STR, and RGB out โ with an eyedropper
- HEX_INT
- HEX_STR
- RGB
Coloring workflows have a surprisingly annoying gap: you want to match a color from an image, and ComfyUI's stock nodes make you type a hex code from memory. ๐ฆ RS Color Picker (RSColorPicker) gives you a real picker with an eyedropper, a history of your last 24 colors, and three output formats at once - so you can grab a color from the canvas and wire the right representation straight into whatever needs it.
How it works
It's a widget-heavy node: the color input is a hex string (default #ff0000) that the UI renders as a swatch. Click the swatch to open the native color picker, or hit the palette icon to activate the eyedropper - in Chrome/Edge you can sample anywhere on screen, in all browsers you can sample the ComfyUI canvas. There are eight preset "basic colors" for quick access, a recent-colors row persisted in localStorage, and a text field for typing hex directly. Double-clicking a swatch copies the hex to your clipboard.
Then it computes three outputs from that one value:
HEX_INT- the integer form (e.g.16711680for#FF0000). Useful for nodes that take color as an int.HEX_STR- the#RRGGBBstring, for anything that wants a hex string.RGB- normalized RGB as a string like1.000, 0.000, 0.000(note: a string, not three floats - some downstream nodes expect that exact comma format).
How to install
Part of ComfyUI_RaykoStudio:
cd ComfyUI/custom_nodes
git clone https://github.com/Raykosan/ComfyUI_RaykoStudio.git
Restart ComfyUI, or install via ComfyUI Manager (search "ComfyUI_RaykoStudio"). No extra dependencies.
Common issues
- Eyedropper doesn't sample what I want. The anywhere-on-screen sampling only works in Chromium browsers (Chrome/Edge); elsewhere it's canvas-only. That's a browser capability limit, not a bug.
- History gone after clearing browser data. Recent colors live in localStorage, so an incognito window or a cleared profile starts fresh.
- RGB output won't feed a float node. It's a
STRING, not three floats. If your target node wants numeric channels, you'll need a string-to-float splitter, or useHEX_INTif the target accepts that.
The honest take: it's a small comfort node, and its real value is the eyedropper plus the three-for-one outputs. If you hand-type hex codes all day, it'll feel like a luxury; if you're building color-matched workflows (IC-Light tints, background gradients, text overlays), it removes a genuinely dumb step. It can't do anything you couldn't do by typing - it just makes the act of choosing a color actually pleasant.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| node_data | STRING | {} | โ |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| HEX_INT | INT | โ |
| HEX_STR | STRING | โ |
| RGB | STRING | โ |