LC Image Crop πΌοΈπͺ
Drag the box on the node, not in a photo editor
- image
- image
Cropping in ComfyUI is usually typing numbers into a formula node and praying. LC Image Crop (LCImageCrop) is the pack's answer: a Windows-style interactive crop - you drag the box and its handles right on the node preview, with an aspect-ratio lock so you can't accidentally crop to a 17:9 abomination. The values stay live as percentages of the source, which keeps the crop honest about what it's doing.
It's part of the LC123 Image & size family (the README literally lists it as "interactive crop with aspect lock"), and it inherits the on-node preview behavior from the pack's FX nodes.
How it works
The crop box is drawn on the node itself; drag to move it, drag the handles to resize. Every drag writes back to the four numeric inputs, which are all percentages of the source image:
- x, y - the crop's top-left corner, as % of image width/height (0β100).
- width, height - the crop size, as % of the source (0.5β100).
- aspect - the lock:
free,original(matches the source), or common ratios 1:1, 4:3, 3:2, 16:9, 3:4, 2:3, 9:16.
The source clamps the math - if your x+width would run past 100%, the width gets pulled back rather than silently producing an empty crop. Output is a single image socket, the cropped tensor.
Two things make it feel like a real tool rather than a toy:
- The percentages are live. Because the values are percentages, a workflow that feeds a 512px image and a 2048px image through the same crop node keeps the same framing - that's the "aspect lock" philosophy applied to everything.
- Aspect lock while dragging. Select 1:1 and the box snaps to a square as you drag; you can't fight the UI into a sloppy crop. If you've ever hand-typed a 1.06:1 crop, you know why this matters.
Where it fits
Anywhere you need a specific framing before generation math: crop to 1:1 for a square latent, crop to 16:9 for video, or crop a composition out of a larger render before an upscale pass so the upscaler spends pixels on the part you actually care about. Crop first, then let an Empty Latent or upscaler take its dimensions from the result.
Install
Part of ComfyUI_LC123_nodes:
cd ComfyUI/custom_nodes
git clone https://github.com/lonecatone23/ComfyUI_LC123_nodes
or ComfyUI Manager, then restart. No dependencies, no models.
Where people get burned
The preview redraw needs the source image cached - if the crop box looks wrong, run the queue once so the preview is current (the node even saves a small source preview to help). And remember the coordinates are percentages, not pixels: if you're thinking in pixels for a 1536px image, 50% is not 768 unless the source happens to be 1536 wide. The pack is a quiet niche collection with no community lore, so those two facts - plus the README's image table - are the whole story.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | Source image to crop. | |
| x | FLOAT | 0.00β100 | Crop left edge as % of image width (0β100). |
| y | FLOAT | 0.00β100 | Crop top edge as % of image height (0β100). |
| width | FLOAT | 100.00.5β100 | Crop width as % of image width (0.5β100). |
| height | FLOAT | 100.00.5β100 | Crop height as % of image height (0.5β100). |
| aspect | COMBO | free | Lock crop aspect ratio. 'original' matches the source image. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | β |