💀Image Color Picker
A real color dialog inside ComfyUI
- hex color
Typing hex colors into ComfyUI is the worst way to choose a color, and this node is the pack's small rebellion against it. 💀Image Color Picker looks like a plain string widget - you type #FFFFFF - but the pack ships a frontend extension (s4colorpicker.js) that turns that widget into an actual color picker overlay when you interact with it. Click, choose, and your hex updates in place.
It's from the S4Tool-Image pack, and it's one of the few nodes there with a real UI component rather than pure backend math. The backend itself is almost comically simple: it takes the hex string, validates it, normalizes shorthand like #FFF to #FFFFFF, and outputs it. All the cleverness lives in the web extension, which is loaded automatically because the pack registers a web/ directory.
Input and output
hex- a STRING, default#FFFFFF. Type it or use the picker.
Output: hex color (STRING). It's a pass-through - whatever valid hex goes in comes out (normalized). The value is what you wire into any node that takes a color string: a background color, a gradient endpoint, a mask fill, or a style text.
The honest use case is ergonomics. If your workflow has color parameters that you tune by feel - a sky tint, a character's clothing color, a palette anchor - reaching for a color dialog instead of hex-typing is a meaningful quality-of-life upgrade when you're iterating for an hour. It also plays well as a source for the pack's color-math nodes: pick a color, then feed it into 💀Image Adjustment Color for variants, or 💀Image Color to render a canvas of it.
Install
Pack install:
cd ComfyUI/custom_nodes/
git clone https://github.com/S4MUEL-404/ComfyUI-S4Tool-Image.git
pip install -r ComfyUI-S4Tool-Image/requirements.txt
Or ComfyUI Manager → search "S4Tool-Image" → Install → restart. No models, no downloads.
Gotchas
- The picker is a frontend nicety - if the overlay doesn't appear (older browsers, some embed setups), you can still type the hex; the node works either way.
- It normalizes, it doesn't invent - invalid input isn't really "validated hard"; keep to
#RRGGBBor#RGBshorthand and you're fine. - Not a color analysis node - this one picks colors you choose. For reading colors out of an image, you want 💀Image Get Color (pixel sampling) or 💀Image Primary Color.
There's nothing impressive under the hood here, and there doesn't need to be - it's the pack quietly admitting that entering colors by hand is a pain, and doing something about it.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| hex | STRING | #FFFFFF | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| hex color | STRING | — |