Concat Grid (Batch to single grid)
Stitch a whole image batch into one contact-sheet grid
- images
- IMAGE
If you've ever run a batch of ten images through a sampler and then had to eyeball each one in a separate preview window to compare seeds, or LoRA strengths, or CFG values, you already know the pain this node fixes. ConcatGridNode takes a whole IMAGE batch and lays it out as a single contact-sheet-style grid, so you get one picture to scroll through instead of ten.
It's part of ComfyUI-LogicUtils, a grab-bag of utility nodes from GitHub user aria1th - better known as AngelBottomless, the trainer behind Illustrious XL, the Danbooru-trained SDXL fine-tune that became the default base for the open anime-model ecosystem. LogicUtils isn't a training or generation pack itself; it's the kind of plumbing someone who runs a lot of batch comparisons ends up writing for themselves. That context is worth knowing going in: this is a personal toolkit, not a polished product, and the README says as much - "proper documentation is being prepared, however there are too many nodes."
How it works
You feed it an images batch - the standard multi-image IMAGE type ComfyUI passes around - and it arranges every image in that batch into one combined canvas. direction controls the layout: horizontal lines them up in a row, vertical stacks them in a column, and square-like tries to arrange them into a roughly square grid instead of one long strip, which is the one you want once your batch size gets past four or five images.
The catch with concatenating images is that they're rarely the same size - different aspect ratios, different resolutions from different nodes upstream. match_method is how it handles that mismatch: resize scales every image to a common size before placing it, pad instead adds blank space around the smaller images so nothing gets stretched or distorted. Resize is the default and it's the one you want if you just care about a fast visual comparison; pad is the one to reach for if you actually care about each image's proportions staying honest.
The inputs and outputs that matter
images(IMAGE, required) - the batch you want gridded. This is the whole point of the node; everything else is layout options.direction-horizontal,vertical, orsquare-like. Defaults tohorizontal.match_method-resizeorpad. Defaults toresize.- Output is a single
IMAGE- wire it straight into a Preview Image or Save Image node.
How to install it
Through ComfyUI Manager: search for ComfyUI-LogicUtils, install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/aria1th/ComfyUI-LogicUtils
Restart ComfyUI afterward. There are no model files to download here - the whole pack is pure Python image and data manipulation, nothing that touches a checkpoint. The README does mention an opt-in auto-install hook (COMFYUI_LOGICUTILS_AUTO_INSTALL=1) and a way to force it off (COMFYUI_LOGICUTILS_SKIP_INSTALL=1), but for this node specifically you shouldn't need either - it doesn't pull in anything beyond what ComfyUI already ships with for image handling.
Common issues & troubleshooting
The grid looks warped or stretched. That's resize doing its job - it will happily squash a portrait image to match a landscape one if that's what fits the grid. Switch to pad if you need every image's aspect ratio preserved.
Only one image shows up, or the grid looks wrong for your batch size. Double-check what's actually feeding the images input. If you're wiring in a single IMAGE output from something like a KSampler run once, you're not actually passing a batch - you need an upstream node that's genuinely producing multiple images (a batch size > 1 sampler run, or an image-batching node) before ConcatGridNode has anything to grid.
It's not listed in Manager, or Manager can't find it. The pack is small and not heavily promoted - if the search comes up empty, use Manager's "Install via Git URL" option and paste the repo link directly rather than assuming it's missing.
Nothing updates when you expect new behavior. Worth knowing: this is a low-traffic side project, not an actively maintained flagship pack, so don't expect fast turnaround on bug reports. If something's clearly broken, check the repo's own tests/ folder for a working example before assuming your workflow is at fault.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| direction | COMBO | horizontal | 3 options: horizontal, vertical, square-like |
| match_method | COMBO | resize | 2 options: resize, pad |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |