LC Image Grid 🖼️
A contact sheet for your batch, without the wire spaghetti
- images
- image
You've got a batch of images out of a sampler and you want to actually look at them side by side. Dragging a dozen preview nodes onto the canvas works, but it eats screen space and leaves you comparing across a wall of tabs. LC Image Grid packs the whole batch into one contact sheet - rows and columns, tidy gaps, optional outline around each cell - so you can eyeball a seed sweep or a prompt matrix in a single glance. It's the kind of node that does one boring thing and does it well enough that you stop noticing it's there.
How it works
The node takes an IMAGE batch and arranges it into a grid. Every cell is padded to a common size - the widest and tallest image in the batch - then centered, so a mix of aspect ratios lines up instead of looking like a dropped deck of cards. Images that would overflow a cell get scaled down first, so nothing gets cropped. Rows are filled left-to-right, top-to-bottom, and you control how many columns with max_columns (1–64); rows are just ceil(n / cols).
The three spacing controls are the ones you'll actually touch:
max_columns- images per row. Set it to 3 for a classic contact sheet, or 1 to get a vertical stack.gap- pixels between cells. 8 is a sane default; crank it up if you want room to breathe.outline_thickness- a frame around each image. Handy when a white grid on black looks too busy.
Everything else is cosmetic: cell_pad (space inside each cell before the outline), border_thickness (outer border around the whole grid), and three hex colors - bg_color (gap fill), outline_color, border_color. All take #RRGGBB. Leave them alone and you get a black grid with thin white outlines, which reads fine on most UIs.
The single output is image - the baked grid tensor. Wire it into a Save Image and you've got a shareable contact sheet without opening an image editor.
Install
This ships in the ComfyUI LC123 Nodes pack (89 nodes, MIT). The easy way:
- ComfyUI Manager → Install Custom Nodes → search "ComfyUI LC123 Nodes" → install → restart.
Or by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/lonecatone23/ComfyUI_LC123_nodes
Then restart ComfyUI. No extra pip packages - this pack runs on ComfyUI's own Python env, so there's nothing heavy to fetch. On hosted platforms like RunningHub you can't install custom nodes yourself; request the pack through their support and they'll add it.
Gotchas
Not much to trip on here, which is the point. The main thing people expect is a crop when they see uneven sizes - nope, it pads, so a 16:9 image next to a square one leaves empty bars. If you want every cell truly filled, resize the batch to a common size before the grid, or set bg_color to something that doesn't scream "empty space." And if the sheet feels heavy on screen, remember the pack's LC123 Performance settings can trim previews, though this node's output is the grid itself so what you see is what saves.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| max_columns | INT | 31–64 | Max images per row. Rows are filled left→right, top→bottom. |
| gap | INT | 80–256 | Space between cells (pixels). |
| cell_pad | INT | 40–256 | Padding inside each cell around the image (before outline). |
| outline_thickness | INT | 20–64 | Outline drawn around each cell image. |
| border_thickness | INT | 20–256 | Outer border around the whole grid. |
| bg_color | STRING | #000000 | Background / gap fill color (#RRGGBB). |
| outline_color | STRING | #FFFFFF | Cell outline color (#RRGGBB). |
| border_color | STRING | #000000 | Outer border color (#RRGGBB). |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |