imageSplitGrid
Cut one image into a row x column grid of tiles
- images
- images
The inverse of a contact sheet. Instead of taking several images and arranging them into a grid, easy imageSplitGrid takes one image and slices it into a grid - you tell it how many rows and columns, and it hands back that many tiles as an image batch.
Why you'd reach for it
The obvious case is undoing a grid you made on purpose: if you generated a 2x2 comparison sheet, or you're processing a sprite sheet, or a scan came in as a single image containing several panels, this is the node that pulls the individual pieces back apart. It's also useful as a crude tiling step ahead of a per-tile operation - split a large image into a grid, run something on each tile in the batch (upscale, detail pass, whatever), and reassemble later if your workflow needs that.
Where it's not the right tool: this is a simple even grid split, not a smart tiling scheme with overlap or seam-aware blending. If you're tiling a huge image for an upscale-and-detail pass and need overlapping tiles to avoid visible seams, that's a job for a dedicated tiled-upscale pack, not this node - easy imageSplitGrid just cuts the image into equal rectangles, cleanly, with no overlap.
How it works
You set row and column, it divides the image into that many equal-sized rectangular sections and returns them as a batch - one image per grid cell.
The inputs and outputs that matter
images- the image (or batch) to split.row(default 1, max 10) - how many rows to cut the image into.column(default 1, max 10) - how many columns to cut the image into.images(output) - the resulting tiles, as a batch. Withrow: 2, column: 2you get 4 tiles back in one batch.
At the defaults (row: 1, column: 1) the node is a no-op - one row, one column, the whole image passes through unchanged. You have to actually raise one or both to get a split.
Installing it
Ships with the base pack, no extra step. ComfyUI Manager: search ComfyUI Easy Use, install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/yolain/ComfyUI-Easy-Use
then install.bat (Windows) or pip install -r requirements.txt, restart. No models, pure tensor slicing.
Common issues & troubleshooting
Image dimensions don't divide evenly. If your image's width isn't a clean multiple of column (or height isn't a clean multiple of row), the resulting tiles won't all be exactly equal - expect rounding at the edges. If your downstream step needs perfectly uniform tile sizes, pre-crop or pre-resize the source image to dimensions that divide cleanly by your row/column counts first.
Batch order confuses you downstream. The output is a single batch containing every tile, not individually labeled by position - if you need to know specifically which tile is "top-left" versus "bottom-right," you'll need to track that by batch index (row-major order is the standard assumption: left-to-right, then top-to-bottom) rather than by name. If you need each tile as a distinctly named output instead of an indexed batch, look at easy imagesSplitImage, which unpacks a batch into up to five separately named image outputs.
Expecting overlap for seamless reassembly. As noted above, this is a clean, non-overlapping grid cut. If you process each tile independently and then try to stitch them back together, you'll see hard seams at every tile boundary unless your processing step is seam-aware. That's expected - this node isn't built for blend-free tiling.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| row | INT | 11–10 | — |
| column | INT | 11–10 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |