Nodes/KJNodes for ComfyUI/Image Concatenate Multi
ComfyUI Node Runs on cloud

Image Concatenate Multi

Paste several images into one, in any direction

By kijai·Created 3 years ago·Updated about 10 hours ago· 2,930
Image Concatenate Multi
  • image_1
  • image_2
  • output
inputcount2
directionright
match_image_sizefalse

Image Concatenate Multi glues several images together into one - side by side, stacked, however you want. It's the node for building comparison grids, assembling side-by-side before/afters, or laying out a strip of frames. The "Multi" part is the point: it's not limited to two inputs. You set how many images you want to join and it grows the right number of slots.

How it works

You tell it an input count, click Update inputs to spawn that many image slots (image_1, image_2, and so on), wire an image into each, and it stitches them into a single output in your chosen direction. It's straight image concatenation - no resampling of content, no model - so it's fast and lossless. From the description: "The output type follows image_1; other inputs are converted to match" - which means it also handles masks, not just images, as long as the first slot sets the type.

The inputs that matter

  • inputcount (default 2) - how many images to join. Change it, then hit Update inputs to actually create the slots. Forgetting that second step is the classic first-time stumble.
  • direction (default right) - which way the images lay out: append to the right, stack downward, and so on. right gives you a horizontal strip; a downward direction gives a vertical stack.
  • match_image_size (default off) - whether to resize inputs so their shared edge lines up. Leave it off and images of different sizes concatenate at their native dimensions (which can look ragged); turn it on and they're scaled to match cleanly along the join. For anything but identically-sized inputs, you usually want this on.

The single output carries the combined image (or mask), typed to follow image_1.

Where it wires in

Anywhere you want more than one image in a single frame. The big three: comparison views (original vs upscaled vs color-matched, three across), grids of a batch's outputs, and building a wide or tall canvas from tiles. The output is a normal image, so it flows straight into a preview, a save, or another processing node.

Installing it

Comes with kijai's KJNodes pack.

  • ComfyUI Manager - search KJNodes for ComfyUI, install, restart.
  • Manual - cd ComfyUI/custom_nodes && git clone https://github.com/kijai/ComfyUI-KJNodes, then pip install -r requirements.txt, and restart.

No dependencies.

Common issues

The number one issue isn't really an issue, it's a workflow step: you have to click Update inputs after changing inputcount. Bump the count to 4 and the extra slots don't appear until you press the button. People set the number, don't see new inputs, and assume the node is broken. It isn't.

Second, mismatched sizes. If you concatenate images of different dimensions with match_image_size off, the result lines up along one edge and leaves the mismatch showing - fine for a quick check, ugly for a final grid. Turn match_image_size on when your inputs aren't already the same shape. And remember the type-follows-image_1 rule: if you're combining images and masks, put the type you want the output to be in the first slot, because everything else gets converted to match it.

CategoryKJNodes/image

Inputs (5)

NameTypeDefaultDescription
inputcountINT22–1000
image_1COMFY_MATCHTYPE_V3
directionCOMBOright4 options: right, down, left, up
match_image_sizeBOOLEANfalse
image_2optIMAGE,MASK

Outputs (1)

NameTypeDescription
outputCOMFY_MATCHTYPE_V3