Calibrated ISO Scaling (160–3200)
A single slider drives particle volume, cluster size, and edge roughness together. ISO 800 renders with true fast-stock character rather than just louder noise.
No AI · Processed on your device · Full Resolution Export
Built for photographers who need organic, luminance-aware grain—not a flat noise layer. Fully color-managed with zero server uploads.
The Simulation
Most grain tools overlay a static digital noise texture at a fixed opacity. FilmGrainLab generates clustered, irregular particles per image that react dynamically to exposure—fading in bright highlights and falling off in deep shadows, exactly like silver halide.
Drag to compare. Same photo—only grain and halation added.
A single slider drives particle volume, cluster size, and edge roughness together. ISO 800 renders with true fast-stock character rather than just louder noise.
Every grain clump carries its own soft color tint, chosen per clump rather than per pixel, recreating the subtle color speckle of real color film instead of rainbow digital noise.
Grain density peaks in midtones and shadow transitions, naturally attenuating in extreme highlights and deep blacks where halide crystals don’t clump.
Emulsion Diffusion
Real grain affects the photo with micro-softness. Our Soft Particle Engine recreates this softness in luminance and color layers, rendering a beautiful and subtle, grain-driven diffusion under every particle.

Color Integrity
Detects embedded Display P3, Adobe RGB, or ProPhoto RGB profiles on load, preserving exact profile bytes on export.
Color-managed preview pipeline benchmarked against LittleCMS for visual accuracy within 1–2 RGB levels out of 255.
Exports directly from raw source pixels without silently converting your files down to sRGB.
Grain structure scales relative to image dimensions. Particle density stays visually identical whether exporting 12MP or 60MP.
The entire rendering engine executes locally via WebGL2 in your browser tab. Your images never leave system memory.
0
Files Uploaded
Complete privacy for commercial client work
1
Free Account
Sign in with your e-mail, no password
$0
While in Beta
Full feature access during active development
Pricing may change once the beta ends, and we will say so first. Nothing you export today will stop working. See pricing
No. All processing runs locally using WebGL2 inside your browser. Your files never touch a remote server.
Digital noise is uniform, grid-aligned sensor interference mostly visible in shadow floors. Film grain is physically formed by silver halide clumps and dye clouds—it is organic, structural, and tied to exposure luminance.
ISO 160–400 gives tight, subtle grain typical of low-speed color negatives (e.g., Portra 160/400). ISO 800 introduces visible clumping characteristic of fast film. ISO 1600–3200 provides heavy, coarse roughness reminiscent of pushed black-and-white film.
Browsers cannot natively decode camera RAW files (.CR3, .NEF, .ARW). Export a high-quality JPG, PNG, or WebP from your RAW converter (Lightroom, Capture One) first.
Any modern desktop browser with WebGL2 support (Chrome, Edge, Safari, Firefox). Accepts JPG, PNG, and WebP, exporting at full original source resolution.
Learn
A short walkthrough from upload to full-resolution export, with tips for keeping it realistic.
Why the two look different, and why a flat noise overlay never quite passes for film.
What ISO 160, 400, 800, 1600 and 3200 look like, and how to pick one for your photo.