Image Grid Merger (Upload)
Grid images straight from upload widgets — no LoadImage nodes in sight
- image
This is the sibling of ImageGridMerger from the same pack, and it answers a very specific complaint: "I just want to stitch six files I already have into a grid, and I'm tired of dragging six LoadImage nodes onto the canvas." ImageGridMergerFromFiles puts the file pickers directly on the node. You click each slot, choose a picture, and the merge runs. Same grid logic, zero extra wiring.
How it differs from the non-upload node
The merging is identical - this node reuses the same layout math: all images are centered on a canvas the size of the largest, gaps and empty cells filled with your chosen background, columns (default 3, max 10) and spacing (default 10) working exactly like the other node. The only real difference is the inputs. Instead of IMAGE wires, image_1 through image_6 are upload widgets, just like the one on LoadImage. image_1 is required; image_2–image_6 each offer a none option so you can merge fewer than six.
The files come from ComfyUI's input directory. Upload through the widget and ComfyUI drops the file there; or copy files into ComfyUI/input/ yourself and they'll show up in the dropdowns. Worth knowing: the node hashes the file contents on every run, so if you overwrite a file on disk while the workflow is sitting open, the node notices and re-runs rather than serving you a stale cached grid. And it validates that each selected file still exists before it queues - delete a file and you'll get an "Invalid image file" error instead of a silent crash.
When to reach for it
This is the one to use when you're assembling a reference sheet by hand: a quick before/after upscale comparison, a turnaround sheet of existing renders, a moodboard. It's faster to point at files than to route six images through the graph, and the output is a single image you can wire into SaveImage.
But note the cap. Six slots, six files, that's it - the batch-flattening trick of the non-upload ImageGridMerger doesn't exist here, because each slot is a single uploaded file. If you need a grid of 20 frames from a generation, use the other node. If you need to grid files you already own, this one's your friend.
Installing and troubleshooting
Same as its sibling - it ships in the same pack, so you only install once:
cd ComfyUI/custom_nodes
git clone https://github.com/SheikhAnas999/Images_Merge_ComfyUI.git
Restart after cloning, or use ComfyUI Manager and search "Image Grid Merger". No extra dependencies beyond what ComfyUI already ships (torch, PIL, numpy), no model downloads, MIT-licensed.
Two gotchas are worth remembering. First, if a file isn't in the dropdown, it isn't in ComfyUI/input/ - drop it there or re-upload through the widget. Second, this is a display-friendly variant of the same utility, so if you find yourself fighting the 6-image limit, you're using the wrong half of the pack. For its lane - quick grids of files you already have - it does the job with almost nothing to break.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| image_1 | COMBO | 1 options: example.png | |
| columns | INT | 31–10 | — |
| spacing | INT | 100–100 | — |
| background | COMBO | 3 options: white, black, gray | |
| image_2opt | COMBO | 2 options: none, example.png | |
| image_3opt | COMBO | 2 options: none, example.png | |
| image_4opt | COMBO | 2 options: none, example.png | |
| image_5opt | COMBO | 2 options: none, example.png | |
| image_6opt | COMBO | 2 options: none, example.png |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |