No AI · Processed on your device · Full Resolution Export

Procedural film grain.
Rendered to match real emulsion.

Built for photographers who need organic, luminance-aware grain—not a flat noise layer. Fully color-managed with zero server uploads.

Portrait at dusk, warm sunlight across the face, with film grain

The Simulation

Real emulsion doesn’t just blend.

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.

Portrait under corridor lights before FilmGrainLab, clean digital image The same portrait with FilmGrainLab film grain and red halation around the lights
Before After

Drag to compare. Same photo—only grain and halation added.

How the Emulsion Grain Engine works

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.

Per-Channel Chroma Speckle

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.

Exposure-Aware Falloff

Grain density peaks in midtones and shadow transitions, naturally attenuating in extreme highlights and deep blacks where halide crystals don’t clump.

Emulsion Diffusion

Get that granular softness.

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.

Inside the Soft Particle Engine

Orange electric motorcycle parked against a dark brick wall, processed with FilmGrainLab at ISO 400

Color Integrity

Uncompromised
Color Pipelines

  • sRGB
  • Display P3
  • Adobe RGB
  • ProPhoto RGB

ICC Profile Retention

Detects embedded Display P3, Adobe RGB, or ProPhoto RGB profiles on load, preserving exact profile bytes on export.

Precision Canvas Preview

Color-managed preview pipeline benchmarked against LittleCMS for visual accuracy within 1–2 RGB levels out of 255.

Zero Gamut Remapping

Exports directly from raw source pixels without silently converting your files down to sRGB.

Constant Density Across Megapixels

Grain structure scales relative to image dimensions. Particle density stays visually identical whether exporting 12MP or 60MP.

Explore the Color Pipeline

Zero Cloud Uploads.
Pure Local Compute.

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

Good to know.

Does my photo get uploaded anywhere?

No. All processing runs locally using WebGL2 inside your browser. Your files never touch a remote server.

Film grain vs. digital noise: What is the difference?

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.

How does the ISO slider map to real film stocks?

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.

Can I process RAW or HEIC files?

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.

Which formats and browsers are supported?

Any modern desktop browser with WebGL2 support (Chrome, Edge, Safari, Firefox). Accepts JPG, PNG, and WebP, exporting at full original source resolution.

Learn

How film grain
actually works.

Give your photos
their grain back.