Grow Mask, Feather Mask and Invert Mask node in ComfyUI
The core mask tools expand (Grow Mask), soften (Feather Mask) and flip (Invert Mask) a MASK so inpainted regions blend into the surrounding picture without visible seams.
Node pack: ComfyUI core
Category: Masks and inpainting
What Grow Mask, Feather Mask and Invert Mask does
A mask painted by hand or produced by a detector is usually too tight and too hard. Grow Mask dilates it by a number of pixels (negative values shrink it) and can round the corners with tapered_corners. Feather Mask fades the edges over left, top, right and bottom distances, turning a hard border into a gradient so the denoised pixels blend into the originals. Invert Mask swaps 0 and 1 to protect what was selected and edit everything else.
The usual chain for inpainting is Load Image -> MASK -> Grow Mask (8-20 px) -> Feather Mask -> Set Latent Noise Mask. For compositing with Image Composite Masked, feathering alone is enough. The Impact Pack and other suites add blur, threshold and combine operations, but these three core nodes cover most work.
Inputs
Name | Type | What it is |
|---|---|---|
mask | MASK | The mask to modify. |
expand (Grow Mask) | INT | Pixels to grow (positive) or shrink (negative). |
tapered_corners (Grow Mask) | BOOLEAN | Rounded growth instead of square. |
left/top/right/bottom (Feather Mask) | INT | Fade distance on each side in pixels. |
Outputs
Name | Type | What it is |
|---|---|---|
MASK | MASK | The modified mask. |
AD

Skip the setup: ComfyUI workflows preinstalled on the cloud
BitVector runs ready-made ComfyUI workflows on its own GPUs. No install, no missing nodes, no red boxes. Open it on your phone or laptop and generate in a minute.
How to use Grow Mask, Feather Mask and Invert Mask
- Start from a MASK output (Load Image, Load Image (as Mask) or a detector).
- Add Grow Mask with expand 8-20 so the new content overlaps the old slightly.
- Add Feather Mask with 8-24 on each side for a soft transition.
- Connect the result to the inpainting node or to Image Composite Masked.
- Preview the mask (Convert Mask to Image -> Preview Image) to check the shape.
Settings and tips
- Grow before you feather; feathering a tight mask leaves the seam inside the object.
- Negative expand values clean up speckles from automatic masks.
- For hair and fur, feather generously and keep denoise around 0.5-0.7.
- Masks are float tensors; nothing stops you from multiplying two masks with Mask Composite for an intersection.
Troubleshooting Grow Mask, Feather Mask and Invert Mask
A soft halo appears around the inpainted object
Why it happens
Too much feathering with a very high denoise: the gradient region is regenerated differently from both sides.
How to fix it
Reduce feather to 8-12 px or lower denoise to 0.6-0.8.
Grow Mask changes nothing
Why it happens
The mask is already saturated (all 1) or the expand value is 0.
How to fix it
Check the mask with a preview; set expand to a visible value such as 16.
Edits leak outside the painted area
Why it happens
The grown mask now covers neighbouring details.
How to fix it
Reduce expand, or feather instead of growing.
AD

Run this workflow from your phone
Every workflow on this page is preinstalled on BitVector with the models and custom nodes already in place. Pick one, type a prompt, done. Zero setup, nothing to download.
Questions about Grow Mask, Feather Mask and Invert Mask
Is there a Blur Mask node in core?
Feather Mask covers the edge fade. For a full Gaussian blur use the Impact Pack or WAS suite blur nodes.
What does tapered_corners do?
It grows the mask with a rounded (cross-shaped) kernel instead of a square one, so corners stay rounded.
Related nodes
Load Image (as Mask)
ComfyUI core
Load Image (as Mask) turns one channel of a picture (alpha, red, green or blue) into a MASK, so black-and-white mask files or painted layers can drive inpainting and compositing.
Set Latent Noise Mask
ComfyUI core
Set Latent Noise Mask attaches a MASK to a LATENT so the sampler only changes the white area: inpainting and regional regeneration with any normal checkpoint.
VAE Encode and VAE Encode (for Inpainting)
ComfyUI core
VAE Encode converts a pixel IMAGE into a LATENT for img2img; VAE Encode (for Inpainting) does the same while blanking the masked area so an inpainting model can repaint it.
FaceDetailer (Impact Pack)
ComfyUI-Impact-Pack
FaceDetailer finds faces (or hands, eyes) with a YOLO detector, crops each one, re-renders it at full resolution with your model and prompt, and pastes it back, fixing the small, mushy faces in wide shots.
AD

Tired of fixing nodes? Let the cloud do it
BitVector keeps hundreds of ComfyUI workflows installed, updated and tested on fast cloud GPUs. No Python, no CUDA errors, no VRAM limits. Works from any browser.
More ComfyUI nodes
CLIP Text Encode (Prompt)
ComfyUI core
CLIP Text Encode turns a text prompt into CONDITIONING using the model text encoder. One node holds the positive prompt, a second one the negative prompt.
ComfyUI Manager
ComfyUI-Manager
ComfyUI Manager is the extension that installs, updates and fixes custom node packs and models from inside the interface, resolves missing nodes in imported workflows and snapshots your setup.
KSampler
ComfyUI core
KSampler runs the denoising loop: it takes the model, prompts and a latent and produces the finished latent image, controlled by seed, steps, cfg, sampler, scheduler and denoise.
Load Checkpoint
ComfyUI core
Load Checkpoint (CheckpointLoaderSimple) opens a .safetensors or .ckpt model file and hands out the three parts every workflow needs: the diffusion MODEL, the CLIP text encoder and the VAE.
Save Image
ComfyUI core
Save Image writes the IMAGE tensor to ComfyUI/output as a PNG, with the whole workflow embedded in the file metadata so the picture can be dragged back into ComfyUI to restore the graph.
VAE Decode
ComfyUI core
VAE Decode converts the sampled LATENT into a pixel IMAGE with the VAE; VAE Decode (Tiled) does the same in tiles for very large images.

Model
Trends
.ai
© ModelTrends.ai
|
Made in Japan
|
© 2026