ComfyUI Extension: ComfyUI-Rect
Interactive rectangle tools for ComfyUI: Select, Crop, Mask, Fill.
Custom Nodes (0)
README
ComfyUI-Rect
Interactive rectangle tools for ComfyUI.
Includes an interactive Rect / Select (marching-ants popup) plus Rect / Crop, Rect / Mask, and Rect / Fill.
Outputs a reusable RECT object ({x,y,w,h}) and the four scalar values for compatibility with existing nodes.
Screenshots

Example Workflow

Load this workflow: assets/demo-workflow.json
Features
- 🖱️ Interactive selector: draw/refine a box over your input image
- đź§± Clean RECT type +
x/y/w/hints - ✂️ Crop, 🧪 Mask (feather/invert/combine), 🟩 Fill/Outline (color + opacity)
- Bounds-safe, batch-safe, GPU/CPU friendly
- Modular pack layout (easy to extend)
Install
- Copy the folder
ComfyUI-Rectinto:ComfyUI/custom_nodes/ - Restart ComfyUI.
If the “Open Rect / Select” button doesn’t appear, it’s almost always cache—use
?nocache=1.
Nodes
Rect / Select
Inputs
image: IMAGE(required)
Outputs
rect: RECT(object withx,y,w,h)x: INT,y: INT,w: INT,h: INT
UI
- Button Open Rect / Select opens an overlay where you drag a rectangle over the input image. Values sync back to the node.
Rect / Crop
- Inputs:
image: IMAGE,rect: RECT - Output:
image: IMAGE(cropped)
Rect / Mask
- Inputs:
image: IMAGE,rect: RECT - Options:
feather (px),invert,combine (replace/union/intersect/subtract/multiply) - Optional:
existing_mask: MASK - Output:
mask: MASK(0..1)
Rect / Fill
- Inputs:
image: IMAGE,rect: RECT - Color:
r,g,b(0–255),opacity(0..1) - Mode:
filloroutline,thickness(outline),feather - Output:
image: IMAGE(blended)
Quickstart
- Load Image → Rect / Select (click Open Rect / Select, draw a box)
- Feed
rectto:- Rect / Crop → get a cropped image, or
- Rect / Mask → build a mask (then drive any mask-aware node), or
- Rect / Fill → draw a solid block or outline for redactions/callouts.
RECT type
A simple JSON-like object:
{"x": 100, "y": 80, "w": 256, "h": 256}
All coordinates are in image pixel space. Values are clamped to the image bounds for safety.
Troubleshooting
- Button missing (“Open Rect / Select”) → open with
?nocache=1. - No image in selector → ensure the node’s
imageinput is connected. - JS not loading → verify the folder path is exactly
ComfyUI/custom_nodes/ComfyUI-Rect/and restart ComfyUI.
Roadmap
- Rect / Transform (offset/expand/scale-around-center)
- Helper: Mask → Rect (BBox) (in companion MaskTools pack)
License
MIT