Features
Photo Denoise
How the edge-preserving bilateral filter works, which of the five noise profiles to pick, what strength costs you in fine texture, and why this tool is not a model.
Photo Denoise removes ISO grain, low-light chroma noise, JPEG blocking and scanner speckle from a photograph, on your device, in a worker in the same tab. Nothing is uploaded and nothing is downloaded. How long it takes depends on the size of your photo and on how many passes the measured noise level calls for, and the result prints the figure it actually took.
It was called AI Denoise, and that was wrong
Until 2026-09-19 this tool carried the label "AI Denoise". It has always been an edge-preserving bilateral filter, and its own source has said so since it was written. The label was the one string a visitor actually read, and it made a claim the code never supported. The name changed; the tool did not.
That correction is worth stating plainly rather than quietly fixing, because the same mistake is how two other tools on this site came to be sold as AI when they were histogram arithmetic.
How a bilateral filter works
An ordinary blur replaces each pixel with the average of its neighbours. That removes noise and destroys edges at the same rate, because it has no idea which is which.
A bilateral filter weights each neighbour twice. Once by how far away it is, which is the ordinary blur. And once by how different its brightness is from the centre pixel. A neighbour on the far side of an edge is very different, so it counts for almost nothing, and the averaging stops at the edge instead of crossing it.
That second weighting is the whole trick, and it is also the whole limit: the filter can only protect a difference it can see. Noise that is as large as the detail around it is indistinguishable from that detail.
The profiles
The profile decides how wide the filter reaches and how much brightness difference it is willing to average across.
- Detect it measures the noise level in your photo first, as a PSNR figure in dB, and maps it onto one of the four strength profiles below. Leave it here unless you disagree with what it chose.
- Low light is the strongest setting, for the coloured mottling that a high sensor gain produces in a dark room.
- ISO grain is for even luminance grain across the whole frame.
- JPEG blocking is for the eight-by-eight squares and the ringing around high-contrast edges that a heavily compressed file carries.
- Light grain is the gentlest, for a photo that is nearly clean already. This is what the automatic path picks when it measures very little noise.
- Scanner speckle is for the fine dust and paper grain in a flatbed scan or a photograph of an old print.
Scanner speckle is the one the automatic path never chooses, and that is not an oversight. The estimate measures how much variation there is, not where it came from, and a scan can carry as little of it as a clean photograph. Pick that profile by hand when you know you are working from a scan.
The result tells you which profile actually ran and what noise level was measured, so an automatic choice you disagree with is visible rather than hidden.
What strength costs
Strength blends the filtered image back against your original. At 100 percent you get the filter unmixed.
There is a real trade here and it is not subtle. Skin pores, fabric weave and paper grain all live at roughly the same scale as the noise, so a setting strong enough to remove all the noise is usually strong enough to flatten them. The familiar plastic look in an over-denoised portrait is exactly that.
Because the blend is a straight one, that cost climbs smoothly with the slider rather than switching on at some threshold. The slider starts at 75 percent as a starting point rather than a recommendation: no measurement on this site says 75 is the right number for your photograph, and the honest test is to run it, look at the result at full size, and come down if anything you wanted is gone.
What it cannot do
It cannot recover detail the noise destroyed. Averaging removes variation, and once a fine texture has been swamped there is no variation left that says what it was. Nothing on this site invents detail that was never recorded.
It is also a whole-image filter with no idea what your subject is, so it cannot protect a face and soften a background. And very coarse chroma blotches from an extreme low-light shot are larger than the filter window, so they will survive it.
It will not hand back a photo larger than the working limit your device can hold safely, which is the same limit the background remover uses: 4096 pixels on the longest edge on a desktop, less on a phone or a machine reporting little memory. A larger photo is scaled to that limit first and the result comes back at that size. The page tells you on screen when that has happened, and your own file is never modified.
Why not a denoising model
Because there is no browser-runnable export of a leading denoiser that this site can host under terms it can verify. The strongest candidate ships as a model file paired with a separate 70 MB weights file, which our loader cannot instantiate at all: it fetches one URL with one hash and passes no external-data option. It is also a third-party re-export rather than a first-party release, which is the same provenance problem that kept another model out of this batch.
A filter that runs instantly and says what it is beats a 70 MB download whose origin we cannot check.
Using it with a cutout
Noise along the boundary between a subject and its background reads to a matting model as ambiguous alpha, which is why a grainy photo tends to produce a speckled cutout edge. Cleaning first and cutting out second usually gives a tidier matte.
Photo Check will tell you whether noise is actually the weak link in your photo before you spend the time, and both tools are free and local.
Was this guide helpful?
Your answer stays in this browser and sends no network request.