Smart Image Splitter
Cut one image into up to nine tiles (with overlap for seamless stitching)
- input_image
- split_1
- split_2
- split_3
- split_4
- split_5
- split_6
- split_7
- split_8
- split_9
Ever wanted to split a big image into tiles for printing, for a tiled upscale pass, or just to feed pieces through an inpainter one at a time? Smart Image Splitter is the ComfyUI node for that. It takes a single IMAGE and cuts it into up to nine pieces along a grid, into horizontal bands, or into vertical columns - and unlike a lot of tiling nodes, it can give each tile an overlap margin so you can stitch the results back together without visible seams.
It's one of seven nodes in the Niutonian Smart Image Suite, and like the rest of the pack it's pure Pillow under the hood: no models, no API, nothing to download. Just crops, with a couple of sensible options.
How it works
Pick split_mode and the node computes even slices:
grid- uses thegrid_sizepresets (2x2, 3x3, 4x4, 2x3, 3x2, 1x4, 4x1).custom- your owncustom_rows/custom_cols, each up to 10.horizontal/vertical- a number of equal bands or columns viahorizontal_splits/vertical_splits.
overlap_pixels is the interesting one. Each tile is extended by that many pixels on its trailing edges (clamped at the image border), so if you're doing the classic split → upscale each tile → re-stitch flow, the tiles overlap instead of sharing a knife-edge. That overlap is what keeps a tiled upscale from showing a seam grid afterward. The cost is that edge tiles are slightly bigger than their nominal share - that's expected.
output_format claims to choose between separate individual outputs or a batch - but honestly, as of this writing the code never branches on it. Both settings return the same nine outputs, so don't expect batch to collapse them into one tensor yet. The important gotcha either way: unused output slots aren't empty - they're filled with a 64x64 black placeholder tensor. If you split a 2x2 and only use split_1–split_4, that's fine; the black squares only bite you if you wire split_5 and up into a Save node expecting real content.
Wiring it up
Inputs that matter: input_image (the IMAGE to cut), split_mode, grid_size, overlap_pixels, output_format. Each of the split_N outputs is a normal IMAGE, so you can route them into a KSampler, an inpainter, an upscaler, or a Save Image without adapters.
The classic tiled-upscale pattern: SmartImageSplitter (3x3, overlap ~32) → nine upscale paths → Smart Grid Stitch or Smart Image Stitch (from the same pack) to reassemble. The overlap you set here is what lets the reassembly hide its seams.
Installing and gotchas
Same install as the rest of the suite:
cd ComfyUI/custom_nodes
git clone https://github.com/Niutonian/comfyui-niutonian-smart-image
Restart ComfyUI, and you'll find it under Niutonian/Image Processing. No extra dependencies - just Pillow, which ComfyUI already has. There are no model files in this pack at all.
One honest warning: the suite is new (a single initial commit in early 2026), so don't expect a giant community trail of fixes. If the node misbehaves, check your overlap_pixels first - too much overlap on a small image can make edge tiles nearly as big as the whole original. And remember the black placeholders for unused outputs when you're building templates.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| input_image | IMAGE | — | |
| split_mode | COMBO | grid | 4 options: grid, horizontal, vertical, custom |
| grid_size | COMBO | 2x2 | 7 options: 2x2, 3x3, 4x4, 2x3, 3x2, 1x4, +1 |
| overlap_pixels | INT | 00–100 | — |
| output_format | COMBO | individual | 2 options: individual, batch |
| custom_rowsopt | INT | 21–10 | — |
| custom_colsopt | INT | 21–10 | — |
| horizontal_splitsopt | INT | 22–10 | — |
| vertical_splitsopt | INT | 22–10 | — |
Outputs (9)
| Name | Type | Description |
|---|---|---|
| split_1 | IMAGE | — |
| split_2 | IMAGE | — |
| split_3 | IMAGE | — |
| split_4 | IMAGE | — |
| split_5 | IMAGE | — |
| split_6 | IMAGE | — |
| split_7 | IMAGE | — |
| split_8 | IMAGE | — |
| split_9 | IMAGE | — |