Film grain
Add noise / grain.
This runs in your browser. Nothing is uploaded.
About Film grain
Adds random noise to every pixel at a strength you choose, applied identically across red, green and blue in your browser, for a film-like texture or to disguise banding.
Digital images can read as too clean. Wide gradients band into visible steps, upscaled regions look plastic, and a photo that has already been through heavy compression often looks smeared rather than photographic. A layer of grain helps with all three. Disguising banding is the most practical use: noise breaks up the flat steps in a large area of sky or a gradient background so your eye stops finding the edges between them.
For each pixel, one random number is drawn between minus your strength and plus your strength, then added to all three colour channels equally. Because the same offset goes to red, green and blue, you get neutral grey grain rather than the coloured chroma noise a real sensor produces. The distribution is flat rather than bell-shaped, and each pixel gets its own independent draw, so two runs at the same setting never produce the same pattern.
Grain is expensive in bytes. Noise is unpredictable by definition, which is precisely what JPEG and PNG compression are worst at, so a grained file can come out substantially larger than the clean version — half again is not unusual. Add it last, after resizing and colour work, or the resampler will average most of it away. Keep the strength modest as well; past about 20 it stops reading as film and starts reading as a faulty sensor.
How to use Film grain
- 1Drop your image onto the panel, or click to browse.
- 2Set Strength. The value is the maximum shift per pixel on a 0–255 scale, so 5 to 15 is subtle and 40 is heavy.
- 3Click Apply preview. Every run draws a fresh random pattern.
- 4Click Download to save the PNG.
What it won't do
- Monochrome noise only — there is no coloured or chroma grain option.
- No grain size control. The noise is always one pixel across, so it looks finer on a large image than a small one.
- A single strength across the whole frame; it cannot be weighted towards shadows or midtones the way film grain is.
Common questions
Why did my file get bigger after adding grain?
Because compression works by finding predictable patterns, and noise is the absence of one. Both JPEG and PNG have to spend real bytes describing grain they cannot summarise. Expect a noticeable increase, sometimes 50 percent or more at higher strengths. If size matters, add grain before your final compression pass and check the result.
Why does the grain look different each time I click Apply?
Each pixel gets an independently drawn random value, and a new set is drawn on every run. There is no seed, so the pattern is never repeatable. If you are producing a set of images that need matching grain, that is a genuine limitation of this tool.
Is this the same as real film grain?
No. Real film grain comes from silver halide crystals of varying size, so it clumps, varies with exposure, and is heavier in the midtones than in the highlights. This adds uniform single-pixel noise at a constant strength across the whole frame. It reads convincingly at low settings and less so at high ones.
Should I add grain before or after resizing?
After, and after any colour work too. The noise is exactly one pixel across, so shrinking the image averages neighbouring grains together and largely erases the texture, while enlarging it smears each grain into a soft blob that reads as mush. Grain should be the last thing applied before export, which is also the only point at which you can judge how it actually looks at final size.
Related tools
Why this one doesn't upload your file
There is no server to upload to. This page is a static file, and the work happens in your browser using the same graphics and WebAssembly code that renders every other site you visit. Your file is read from disk into memory, processed, and handed back as a download. Once the page has loaded you can disconnect from the network entirely and it keeps working. The longer explanation