Remove noise and grain from photos with a free image denoiser
Photos taken at night, indoors, at concerts or with a small phone sensor often come out speckled: fine grey grain in shadows, blotches of red and green in dark areas, and a gritty look on skin and skies. This image denoiser removes that noise while keeping edges, text and fine detail as crisp as possible, and shows a before/after slider so you can judge the result at full size.
It offers three methods. Best uses non-local means, the classic algorithm behind many photo editors’ noise reduction. Fast uses an edge-preserving bilateral filter, and Specks uses an adaptive median filter for dust, hot pixels and salt-and-pepper dots. A separate Colour noise control cleans the coloured blotches typical of phone photos.
Everything runs in your browser with JavaScript and Web Workers — no app, no account and no upload. Your photo never leaves your device, which matters for family pictures and documents.
How to use the Image Denoiser
- Drop a photo onto the upload area, click it to choose one, or paste with Ctrl+V. It is denoised straight away with balanced settings.
- Pick a method: Best · non-local means for grain and sensor noise, Fast · edge-aware for quick light cleaning, or Specks · median for dust and isolated dots.
- Adjust Strength for brightness grain and Colour noise for coloured blotches. The photo is processed again when you let go of a slider.
- Drag the slider on the photo, or use “Compare before / after”, and press 100% to inspect real pixels — noise is easiest to judge at full size.
- Choose a format under “Save as” and press Download denoised photo.
Image Denoiser features
Non-local means
Each pixel is averaged with pixels whose surrounding 5×5 patch looks similar, searched across an 11×11 or 13×13 window — noise averages out, edges and textures do not.
Automatic noise estimate
The noise level is measured from the photo itself (Immerkær’s method on the flattest areas), so the default strength suits clean and grainy photos alike.
Separate colour noise control
Chroma is smoothed with an edge-preserving guided filter tuned to the measured colour-noise level, removing blotches without making colours bleed across edges.
Median for specks
An adaptive median replaces only pixels that differ sharply from their neighbours, so dust and hot pixels vanish while normal detail is left untouched.
Full resolution, tiled
Photos up to 16 megapixels are processed at full size in strips spread over several CPU cores, with a progress bar.
Before/after at 100%
A draggable comparison slider with a 1:1 zoom makes it easy to see exactly what changed.
Which denoising method should I use?
| Your photo | Method | Suggested settings |
|---|---|---|
| Night or indoor phone photo with grain | Best · non-local means | Strength 40–60, Colour noise 60–80 |
| High-ISO camera shot, strong grain | Best · non-local means | Strength 60–80; check skin and hair at 100% |
| Light noise, slow phone or quick preview | Fast · edge-aware | Strength 50, Colour noise 50 |
| Old scan with dust, hot pixels, salt-and-pepper dots | Specks · median | Strength 40–70 (above 70 uses a 5×5 window) |
| Only coloured blotches, grain is fine | Any of the first two | Strength 0, Colour noise 70–100 |
How the denoiser works
The photo is first split into brightness (luma) and colour (chroma) using the YCbCr conversion from JPEG. Most perceived grain lives in brightness, while phone sensors add their ugliest noise to colour, so the two are treated separately.
Non-local means (Buades, Coll and Morel, 2005) looks at the small patch around each pixel and compares it with patches nearby. Patches that look alike — the same patch of sky, the same edge further along — receive high weights, and the pixel becomes a weighted average of their centres. Because pure noise is random, it averages away, while structures that repeat are reinforced. The filter weight uses the measured noise level σ: patch differences up to about 2σ² are treated as noise. The bilateral filter is simpler: it averages nearby pixels, but only those of similar brightness, so it stops at edges.
Colour noise is then reduced with a guided filter (He, Sun and Tang) on each colour channel. Where colour varies only by about the measured colour-noise level, it is averaged; genuine colour edges, which are much larger steps, pass through unchanged — even where both sides have the same brightness. OpenCV’s fastNlMeansDenoisingColored is not included in the standard OpenCV.js web build, so these filters are implemented directly in JavaScript.
Getting a natural result
- Use the lowest strength that removes the distracting grain. A little fine grain looks more natural than plastic-smooth skin.
- Always check faces, hair, fabric and foliage at 100% — over-smoothing shows there first.
- Denoise before you sharpen, brighten or upscale; those steps amplify noise. The Image Enhancer and Image Upscaler work best on a cleaned photo.
- JPEG blocks and banding are compression artefacts, not sensor noise; a mild strength can soften them, but saving as PNG avoids adding new ones. Compress the final file with the Image Compressor.
Image Denoiser FAQ
How do I remove noise from a photo online for free?
Open the image denoiser, drop in your photo and wait a few seconds. The default “Best” method removes grain automatically; adjust Strength and Colour noise if needed, then download. There is no sign-up or watermark.
Will denoising make my photo blurry?
Non-local means and the bilateral filter are edge-preserving, so edges and text stay sharp. Very fine texture such as hair or grass can soften at high strength — compare at 100% and lower the strength if it looks waxy.
What is the difference between luminance and colour noise?
Luminance noise is grain in brightness, like film grain. Colour (chroma) noise is random red, green and blue blotches, common in dark phone photos. The Strength slider targets the first and the Colour noise slider the second.
Is my photo uploaded to a server?
No. The denoiser runs entirely in your browser using Web Workers on your own processor. The photo is never sent anywhere.
Why is the “Best” method slower?
Non-local means compares every pixel with 120 to 168 nearby patches, which is far more work than a simple blur. A 12-megapixel photo takes several seconds on a laptop and longer on phones; use “Fast” for quick results.
Can it fix a blurry or out-of-focus photo?
No. Denoising removes random speckle; it cannot restore detail lost to motion blur or missed focus. Mild sharpening in the Image Enhancer can help slightly soft photos.