Sharpen Image
The final-touch node that can't create detail
- image
- IMAGE
Every "final polish" workflow in ComfyUI ends the same way: VAE Decode → maybe an upscale → Sharpen Image → Save. This is that middle node, and its whole job is to make a slightly-soft render pop. It has shipped in core since April 2023 and it's one of the few image filters where the community has strong, conflicting opinions about the exact numbers - because it's trivially easy to make things worse.
The thing to internalize first
Sharpen cannot create detail. It exaggerates what's already there - specifically edges - by adding a bright/dark halo around them. That's the entire mechanism: it's unsharp masking, the same trick Photoshop's Unsharp Mask has used since the 90s. So if your image is blurry because the model underdelivered, sharpening it will just give you crispy blur with halos. The honest fix for genuine softness is to re-generate or upscale properly, not to sharpen harder. The KB's upscaling essay puts it well: if the source is out of focus, the move is to drop resolution to match the blur, then upscale - not to sharpen pixels that were never there.
How it works
The node builds a Gaussian kernel sized radius * 2 + 1, scales it negative by alpha * 10, then adjusts the center so the whole kernel sums to 1. Convolving that adds a controlled edge enhancement. Three knobs, all marked advanced in the UI:
- sharpen_radius (1–31, default 1) - how many pixels out the edge halo extends. Keep it small.
- sigma (0.1–10, default 1) - the spread of the Gaussian. Bigger sigma = softer, wider halo.
- alpha (0–5, default 1) - overall strength. This is the one you actually reach for.
What people actually run
The defaults (1 / 1 / 1) are a sane starting point, and radius 1–2 with alpha 1 covers most "give it a little crunch" cases. But watch how the community dials it: people stack two sharpens (radius 2 and radius 1) for extra pop on upscaled images, and - here's the one that surprises people - when they swap in a sharper VAE (like UltraFlux's 4K-trained one), they drop alpha to 0.02–0.1 because the better VAE already provides the detail. The tell is that alpha is a 0–5 slider and half the serious users live in the bottom 5% of it. Start low, look at the edges, then decide.
Getting it
Ships with ComfyUI core, no install. Search "Sharpen" in the node menu. It's a pixel-space filter, so it goes after VAE Decode.
Common gotchas
- Halos and ringing - the classic over-sharpen tell. If edges glow white or look embossed, you've overshot: drop alpha, or back the radius off to 1.
- It amplifies noise and compression. Sharpening a JPEG-ish render sharpens the artifacts too. This is why the "sharpen after a good upscale" chain beats "sharpen the original."
- fp16 intermediates broke it. A March 2026 fix (
#13181) addressed blur and sharpen failing with fp16 intermediate dtypes - if you run fp16 intermediates and sharpening produces garbage, that's an update, not your settings.
If sharpening feels like a losing battle, the community answer is usually a better upscaler, not a stronger sharpen - 4x-UltraSharp is the perennial favorite for clean detail without the halos.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| sharpen_radius | INT | 11–31 | — |
| sigma | FLOAT | 1.000.1–10 | — |
| alpha | FLOAT | 1.000–5 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |