Nodes/ComfyUI-GadgetNodes/Crop Images (Manual)
ComfyUI Node

Crop Images (Manual)

You point, it crops, every image in the batch

By 2daadv·Created 6 months ago·Updated 21 days ago· 1
Crop Images (Manual)
  • images
  • images
aspect_ratio1:1

Most crop nodes in ComfyUI take a number. This one takes a human. Crop Images (Manual) feeds your batch of images into a popup dialog where you drag a crop box on each one, with aspect-ratio presets to keep things honest, and then hands the finished crops back into the graph. It's the node for the jobs where a fixed box is wrong and an automatic face-crop is overkill - "I want a 1:1 square of each of these twelve photos, but I get to choose where the center is."

How it works: you wire an IMAGE batch in (the input is list-mode, so a batch of images works fine) and pick an aspect_ratio (default 1:1, with fourteen options: portrait ratios like 4:5, 7:9, 3:4, 2:3, 9:16, 9:21; squares and landscapes 1:1, 5:4, 9:7, 4:3, 3:2, 16:9, 21:9; plus Any for free-form). When the node runs it generates downscaled WebP previews of every image, opens a dialog, and waits. You drag a box on each thumbnail - it remembers your previous crop and the same image hash, so re-running the workflow doesn't make you re-crop from scratch - and hit confirm. The output is the list of cropped IMAGEs, ready to feed the next stage.

It's from 2daadv's ComfyUI-GadgetNodes pack (Gadget/image category, MIT, one developer, brand new, no community reputation to report). Install: ComfyUI Manager → search "GadgetNodes", or git clone https://github.com/2daadv/ComfyUI-GadgetNodes into custom_nodes/ + pip install -r requirements.txt + restart.

Where it earns its keep:

  • Dataset prep. Cropping a training folder to a consistent ratio before tagging - the manual crop is the slow, careful step that beats a dumb center-crop at preserving the subject.
  • Social-ready batches. Twelve reference shots, all needing 1:1 or 4:5, each framed by eye. This is exactly the batch job that dies by a thousand clicks in an image editor.
  • Preview-driven iteration. Because crops are stored per-image-hash, tweaking one frame later doesn't invalidate the rest.

The big caveats, and one of them is a genuine trap:

  • ⚠️ This node is dialog-dependent, and the README is blunt about it: the crop dialog is a frontend extension, and under the Nodes 2.0 frontend it "likely won't open and execution may not complete." The node blocks until the dialog replies - on Nodes 2.0 that can mean a run that hangs waiting for a dialog that never appears. If you're on Nodes 2.0, test this node before relying on it. On the legacy canvas it works as intended.
  • It's interactive by nature. You can't run this headless, in a queue, or in an API-only setup. It's a human-in-the-loop node; that's the whole point, but plan around it.
  • The Any aspect ratio means "free-form box," not "auto." You still drag the box; it just doesn't lock you to a ratio.

Honest take: for the one job it does - human-guided batch cropping - it's genuinely useful and well-made, with the preview/thumbnail handling and the per-hash memory being thoughtful touches. Just don't build it into a workflow you intend to automate, and know what you're getting into on Nodes 2.0.

CategoryGadget/image

Inputs (2)

NameTypeDefaultDescription
imagesIMAGE
aspect_ratioCOMBO1:114 options: 4:5, 7:9, 3:4, 2:3, 9:16, 9:21, +8

Outputs (1)

NameTypeDescription
imagesIMAGE