Nodes/KJNodes for ComfyUI/Image Grid Composite 3x3
ComfyUI Node Runs on cloud

Image Grid Composite 3x3

Nine images in, one contact sheet out

By kijai·Created 3 years ago·Updated about 18 hours ago· 2,930
Image Grid Composite 3x3
  • image1
  • image2
  • image3
  • image4
  • image5
  • image6
  • image7
  • image8
  • image9
  • IMAGE

Comparing nine images side by side - nine seeds, nine LoRA strengths, nine steps of a parameter sweep - is a lot easier as one grid you can glance at than nine separate previews you're scrolling between. ImageGridComposite3x3 does exactly one thing: it takes nine images and tiles them into a single 3×3 grid, no options, no configuration, just plug in nine sockets and get one composite back.

It's the simplest node covered in this series, and that's the point - sometimes you don't want a flexible grid builder with rows and columns and spacing controls, you just want the fast version for the most common case.

How it works

The nine inputs get arranged left-to-right, top-to-bottom - image1 top-left, image3 top-right, image7 bottom-left, image9 bottom-right - and concatenated directly into one larger canvas. There's no scaling, spacing, or border logic exposed; each input tile occupies its slot at whatever size it comes in at, so mismatched input sizes will produce a mismatched-looking grid.

The inputs and outputs that matter

All nine inputs - image1 through image9 - are required and functionally identical; there's no meaningful subset to highlight, they're all just "one tile of the grid." The only real decision you make with this node is which of your nine images goes in which socket, since that determines its position in the final grid.

Output is a single IMAGE - the composed 3×3 grid, ready for Preview Image or Save Image.

How to install it

Via ComfyUI Manager: search "KJNodes for ComfyUI," install, restart. Manually:

cd ComfyUI/custom_nodes
git clone https://github.com/kijai/ComfyUI-KJNodes
pip install -r ComfyUI-KJNodes/requirements.txt

then restart. No extra dependencies - plain image concatenation.

Common issues & troubleshooting

The grid looks uneven, with some tiles bigger than others. This node doesn't resize inputs to match each other - if your nine images came from different resolutions or aspect ratios (a common mistake when mixing outputs from different sampler runs), resize them to a common size with a standard resize node before feeding them in here.

You need fewer or more than nine images. This node is fixed at exactly nine, by design - for a variable count you'd want a different compositing approach, or you can pad out unused slots with a blank image if you only have, say, six results and still want a filled grid rather than restructuring your workflow.

No labels or spacing between tiles. That's intentional for this node - it's a bare concatenation, not a full contact-sheet generator with borders and captions. If you need labels per tile, composite them onto each image individually before this node, since it won't add any itself.

CategoryKJNodes/image

Inputs (9)

NameTypeDefaultDescription
image1IMAGE
image2IMAGE
image3IMAGE
image4IMAGE
image5IMAGE
image6IMAGE
image7IMAGE
image8IMAGE
image9IMAGE

Outputs (1)

NameTypeDescription
IMAGEIMAGE