ComfyUI Node

Split RGB

Pull an image apart into its red, green, and blue channels

By chrisfreilich·Created 2 years ago·Updated about a year ago· 93
Split RGB
  • image
  • red
  • green
  • blue

Every color image is really three grayscale images stacked together - one per channel. This node breaks that stack apart and hands you each channel as its own separate IMAGE. On its own that's not visually exciting (you get three gray-looking pictures), but it's the entry point into a whole category of channel tricks: masking off just one channel, running an adjustment on a single color's data, or feeding a channel into a blend mode for effects you can't get by editing the composite image directly.

How it works

It's a straightforward decomposition - no color science beyond separating the R, G, and B planes of the input image into three standalone single-channel outputs (represented as grayscale IMAGE tensors, since ComfyUI's IMAGE type doesn't have a dedicated single-channel format). Each output shows how much of that primary color exists at every pixel: bright means a lot of that color was present, dark means little to none.

The inputs and outputs that matter

  • image - the image to split. That's the only input; there's nothing to configure.
  • red, green, blue - three IMAGE outputs, one per channel. Nothing stops you from taking these somewhere unexpected: run Levels or Curves-style adjustment on just the red channel before recombining, mask on the channel that has the cleanest edge contrast for your subject, or feed a single channel into Blend Modes as either the backdrop or source for creative effects.

How to install it

ComfyUI Manager: search Virtuoso Nodes for ComfyUI, install, restart. By hand:

cd ComfyUI/custom_nodes
git clone https://github.com/chrisfreilich/virtuoso-nodes
pip install -r virtuoso-nodes/requirements.txt

Restart, look under Virtuoso/Channels. No model files - this is a pure tensor-slicing operation, essentially free to run.

Common issues & troubleshooting

The three outputs "look like the same gray image." They shouldn't - each channel should track differently with whatever colors dominate your source. If red, green, and blue genuinely look near-identical, your source image is probably close to grayscale already (low overall saturation), not a bug in the node.

You split it and now need it back together. That's Merge RGB, the companion node - feed the three channel outputs back in and it recombines them. Or, per the pack author's own notes, you can get the same recombination through Blend Modes using linear dodge (add) twice if you want more control (independent opacity per channel) during the recombine.

Trying to isolate a specific color, not a channel. Split RGB gives you the three primaries, not an arbitrary hue range - if what you actually want is "just the reds" in the sense of a color-range selection rather than the literal red channel, that's Selective Color or Hue/Saturation, not this node.

CategoryVirtuoso/Channels

Inputs (1)

NameTypeDefaultDescription
imageIMAGE

Outputs (3)

NameTypeDescription
redIMAGE
greenIMAGE
blueIMAGE