Film Grain vs Digital Noise
They look similar at first glance, but film grain and digital noise are fundamentally different. One is an aesthetic choice. The other is a technical flaw. Understanding the difference is key to adding realistic grain to digital photos.
The Key Differences
Film Grain
- Caused by silver halide crystals in the film emulsion
- Organic, spatially-correlated pattern - nearby grains clump together
- Varies by film stock, ISO, and development - each has a unique character
- Consistent across the entire frame
- Aesthetically pleasing - adds texture and warmth
- Compresses well because of spatial correlation
Digital Noise
- Caused by sensor heat, high ISO amplification, or small pixel sites
- Random per-pixel pattern - no spatial relationship between pixels
- Uniform and characterless - one camera's noise looks like any other
- Worse in shadows and dark areas, often absent in highlights
- Visually unpleasant - makes photos look cheap or broken
- Compresses terribly because every pixel is random
Why Grain Looks Good and Noise Doesn't
The core difference is spatial correlation. Film grain has structure - nearby grains tend to be similar in size and density, creating smooth clusters rather than chaotic speckle. This is because physical silver halide crystals have real size and interact with neighboring crystals during development.
Digital noise has no structure. Each pixel's noise value is independent of its neighbors, creating a harsh, speckled pattern that the human eye reads as an error rather than a texture.
This distinction also explains why grain compresses well and noise doesn't. JPEG and WebP work by finding patterns in blocks of pixels. Spatially-correlated grain gives them patterns to work with. Per-pixel random noise is the worst possible input for block-based compression.
Why Most “Add Grain” Tools Get It Wrong
Most photo editors - including Photoshop's “Add Noise” filter - generate per-pixel random values. This is technically digital noise, not film grain. The result looks harsh, compresses poorly, and doesn't match any real film stock.
Grainy takes a different approach. Our algorithm generates spatially-correlated noise using smooth interpolation between random sample points. The result has the organic, clustered quality of real film grain - and because it has spatial structure, JPEG and WebP can compress it efficiently.
Add Real Film Grain, Not Digital Noise
Grainy generates compression-friendly, spatially-correlated grain that looks like real film - not random per-pixel noise. Try it free in your browser.