Blur Image
The smoothing node your workflow is quietly missing
- image
- IMAGE
Blur is the filter nobody posts about and every workflow secretly needs. ImageBlur ("Blur Image") is a plain Gaussian blur over the finished image - in core since April 2023, one input, two dials, and more uses than you'd guess. It's the "make this less crunchy" node, and in the AI-image world "less crunchy" comes up a lot.
Why you'll reach for it
Three genuinely different jobs, all this one node:
- Soften a too-sharp generation. Models love producing oversharpened skin, jaggies on text, and harsh pixel edges. A small-radius blur takes the artificial edge off before you hit Save.
- Feather mask boundaries. Blur a mask (or the paste boundary) so a composited region blends instead of showing a hard cut. A blur on the mask edge is the cheapest anti-seam there is.
- Background-depth / "not AI" effects. Blur everything but your subject, or add a touch of diffusion for a film-look softness that reads as photographic rather than generated.
It's the yin to ImageSharpen's yang - the two sit right next to each other in the node list, and many workflows run blur then sharpen to get a soft-but-crisp finish without the sharpening artifacts.
How it works
A Gaussian kernel sized blur_radius * 2 + 1 is convolved over each channel, using reflect padding at the edges so the borders don't go black. Two inputs matter:
- blur_radius (1–31, default 1) - the radius of the kernel, not the total size. So radius 5 is an 11×11 kernel.
- sigma (0.1–10, default 1) - how quickly the kernel falls off. Default 1 gives a fairly tight Gaussian.
Here's the intuition worth building: radius sets the reach and sigma sets the softness of that reach. Radius 10 with sigma 1 still blurs, but the edges of the blur are harder - you get a crisper, almost motion-blurred look. Radius 10 with sigma 5 smears everything smoothly. For "smooth and dreamy" you want both up together.
Getting it
Ships with ComfyUI core - search "Blur" in the node menu, nothing to install. Pixel-space filter, so it runs after VAE Decode.
Common gotchas
- Too low to see, or too much to keep. Radius 1 with default sigma is nearly invisible on a 1MP image - people run it, see nothing, and assume it's broken. Crank radius to 3–5 to actually judge the effect, then dial back.
- Blur ≠ fixing blurry. If the render itself is soft, blurring makes it softer. As with sharpen, the fix for underdelivered detail is regeneration or a better upscaler, not more filtering.
- Don't blur, then upscale. Upscaling a blurred image bakes the softness in at the higher resolution - the KB's upscaling essay flags exactly this trap. Blur belongs after the final upscale, not before.
- fp16 intermediates. Blur (and sharpen) failed with fp16 intermediate dtypes until the March 2026 fix - garbage output with fp16 means update ComfyUI, not your node graph.
One more honest note: it's a per-channel Gaussian, so it won't preserve alpha edges especially well if you're blurring a cutout with transparency. For mask work, prefer blurring the mask itself and letting the compositing node do the paste.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| blur_radius | INT | 11–31 | — |
| sigma | FLOAT | 1.00.1–10 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |