Film grain: what it is and how to emulate it correctly

Grain is a variation in the film's density, not a texture laid over a finished picture. Kodak measures it as RMS granularity, and an emulation that follows the datasheets adds it to each colour layer, at a size fixed on the film.

Ashigrain model render of Kodak VISION3 500T grain on Super 35 4-perf at 1920 pixels, a 1:1 crop
Aperture
48µm
Kodak's measuring spot for RMS granularity
500T blue layer
19.2
vs 6.4 red and 7.1 green at density 1.0
Super 8 enlargement
4.4×
over Super 35 at 1920 pixels across
Model grain size
2.5–7µm
Colour stocks, a modelling choice, not data

Short answer

Film grain is the random texture of the image-forming particles in a developed film.

  • What it is

    Silver clumps and dye clouds

    The image-forming particles of a developed film: clumps of metallic silver in black-and-white film, clouds of dye in colour film.

  • How it is measured

    RMS granularity

    Kodak measures it as RMS granularity: how much the density of an evenly exposed patch varies when read through a small aperture.

  • How to emulate it

    Grain in each layer's density

    Add grain to each colour layer’s density, scale it to the stock’s published granularity, and give it a fixed size on the film so that a smaller gauge enlarges it.

01 — What film grain is

What film grain is

For emulation, the point to keep is that grain is a variation in density, the film’s darkness. It is not laid over a finished picture: the print or scan turns density into brightness afterwards, grain included.

A film emulsion is a layer of gelatin holding a great many tiny silver halide crystals. Light makes some of them developable.

  • One silver layer

    Black-and-white

    In black-and-white film the developer turns each exposed crystal into a small mass of metallic silver, which stays in the film as the image. The masses are scattered at random, so a patch that received an even exposure is not evenly dark, and close up it has a fine, irregular texture. That texture is grain.

  • Three dye layers

    Colour

    Colour film starts the same way, but its emulsion is split into three layers, sensitive to red, green and blue light. During development each layer forms a dye (cyan, magenta or yellow) where its grains develop, and the silver is removed in processing. What remains is a cloud of dye where each grain was. Colour grain is the texture of those dye clouds. Each layer has its own clouds, so the red, green and blue records each carry a different pattern, and their strength can differ too.

02 — How grain is measured

How grain is measured

Kodak’s datasheets give grain as diffuse RMS granularity. A microdensitometer scans a uniformly exposed and developed patch of film through a small circular aperture and records the density at many points. The standard deviation of those readings is σD, and Kodak quotes it multiplied by 1000.

  1. 01

    Expose evenly

    A uniform patch, read at a net diffuse density of 1.0.
  2. 02

    Scan through 48 µm

    A microdensitometer reads the density at many points.
  3. 03

    Take σD

    The standard deviation of the readings.
  4. 04

    Multiply by 1000

    0.014 is printed as 14. A bigger number means a coarser film.

Kodak’s reference guide for filmmakers defines the measurement at a net diffuse density of 1.0 (density above the film’s base and fog) with an aperture usually 48 µm in diameter (H-845, printed p.55). The VISION3 500T datasheet states the same aperture for its curves: they were read with a microdensitometer through a 48-micrometre aperture, in red, green and blue (H-1-5219t, p.4).

The aperture size changes the result: a larger aperture averages over more grains, so the readings vary less and the number comes out smaller. Values are only comparable when they were measured through the same aperture, and an emulation that wants to land on the published figure has to measure itself the same way.

Granularity also changes with density, so a datasheet prints either a curve against density or a single value at density 1.0. A bigger number means a coarser film.

Datasheet values

Published values for four Kodak stocks, at net diffuse density 1.0 and 48 µm aperture, as RMS granularity × 1000:

Film Type Red Green Blue
Kodak VISION3 50D 5203 Colour negative 4.6 4.4 8.3
Kodak VISION3 500T 5219 Colour negative 6.4 7.1 19.2
Eastman Double-X 5222 Black-and-white negative 14 (one layer)
Kodak Ektachrome 100D 5294 Colour reversal 17.9 13.5 24.9

The 5203, 5219 and 5294 values are read from the granularity curves in their datasheets. Double-X prints no curve, only a single value of 14 for its one silver layer. The datasheets are listed under Sources.

Bar chart of datasheet granularity at density 1.0: 5203 R 4.6, G 4.4, B 8.3; 5219 R 6.4, G 7.1, B 19.2; 5222 N 14; 5294 R 17.9, G 13.5, B 24.9.4.66.417.94.47.113.58.319.224.914

Chart data
stockSeriesdiffuse RMS granularity × 1000
Kodak Vision3 50DR4.6
Kodak Vision3 500TR6.4
Kodak Ektachrome 100DR17.9
Kodak Vision3 50DG4.4
Kodak Vision3 500TG7.1
Kodak Ektachrome 100DG13.5
Kodak Vision3 50DB8.3
Kodak Vision3 500TB19.2
Kodak Ektachrome 100DB24.9
Eastman Double-X 5222N14
Datasheet diffuse RMS granularity × 1000 at net diffuse density 1.0 (48 µm aperture): VISION3 50D 5203, VISION3 500T 5219 (read from their granularity curves), Double-X 5222 (one published value for the black-and-white layer) and Ektachrome 100D 5294 (read from its curve). Sources: KODAK VISION3 50D Color Negative Film 5203 / 7203 Technical Data, H-1-5203t, Revised 7-15, p. 4; KODAK VISION3 500T Color Negative Film 5219 / 7219 Technical Data, H-1-5219t, Revised 7-15, p. 4; EASTMAN DOUBLE-X Negative Film 5222 / 7222 Technical Data, H-1-5222, Revised 7-15, p. 2; KODAK EKTACHROME 100D Color Reversal Film 5294 / 7294 Technical Information, H-1-5294, Revised 3-26, p. 3; KODAK Essential Reference Guide for Filmmakers, H-845, p. 57.

The slow daylight negative 5203 is the finest of the four. 500T, the fastest VISION3 stock, is coarser, and its blue layer reads 19.2 against 6.4 and 7.1 for red and green, close to three times as coarse. Blue is the coarsest layer in all three colour stocks here, 5203 included. The datasheets give the numbers but not the reason, and this article does not guess at the emulsion chemistry behind it. What matters for emulation is that colour grain differs in strength from channel to channel, which one monochrome grain layer cannot reproduce.

The Ektachrome reversal stock, 5294, is the coarsest colour film in the table in every layer. Reversal film is itself the projected image, with no print stage.

Grain against density

The 500T datasheet prints a granularity curve for each layer. Each curve falls overall as density rises, though not smoothly: blue reads about 30.2 at net density 0.3, 19.2 at 1.0 and 11.8 at 2.0, but is slightly higher at 1.5 (19.9) than at 1.0. Red falls from about 9.2 at 0.3 to 5.7 at 1.5. Green reads 7.1 at 1.0 and 8.2 at 1.5. These values come from digitising the datasheet chart (H-1-5219t, p.4).

Line chart: granularity of the red, green and blue layers of 5219 against density. The blue layer is coarsest; the dashed model lines lie on the solid datasheet lines.

Chart data
Seriesnet diffuse density above base + fogdiffuse RMS granularity (σD × 1000)
R datasheet (digitised curve)0.39.15
R datasheet (digitised curve)0.66.99
R datasheet (digitised curve)16.41
R datasheet (digitised curve)1.55.69
R Ashigrain model (simulated)0.39.44
R Ashigrain model (simulated)0.67.21
R Ashigrain model (simulated)16.62
R Ashigrain model (simulated)1.55.87
G datasheet (digitised curve)0.312.34
G datasheet (digitised curve)0.69.09
G datasheet (digitised curve)17.09
G datasheet (digitised curve)1.58.24
G datasheet (digitised curve)26.58
G Ashigrain model (simulated)0.312.74
G Ashigrain model (simulated)0.69.39
G Ashigrain model (simulated)17.33
G Ashigrain model (simulated)1.58.51
G Ashigrain model (simulated)26.8
B datasheet (digitised curve)0.330.24
B datasheet (digitised curve)0.622.19
B datasheet (digitised curve)119.19
B datasheet (digitised curve)1.519.86
B datasheet (digitised curve)211.83
B Ashigrain model (simulated)0.331.26
B Ashigrain model (simulated)0.622.95
B Ashigrain model (simulated)119.84
B Ashigrain model (simulated)1.520.53
B Ashigrain model (simulated)212.23
Diffuse RMS granularity (σD × 1000, 48 µm aperture) of Kodak VISION3 500T 5219 per layer at net densities 0.3 to 2.0: digitised from the datasheet curve (solid) and measured on Ashigrain grain renders (dashed). The model is calibrated to the datasheet, so the agreement is by construction. Sources: KODAK VISION3 500T Color Negative Film 5219 / 7219 Technical Data, H-1-5219t, Revised 7-15, p. 4; KODAK Essential Reference Guide for Filmmakers, H-845, p. 57.

Grain strength therefore depends on how much exposure each part of the negative received, separately in each layer. A grain texture at one fixed strength across the frame misses this.

03 — Gauge

Gauge: why Super 8 looks grainier

The grain of a given stock is the same size on any gauge, but a small frame has to be enlarged more. A Super 35 4-perf frame is 24.89 mm wide and a Super 8 frame is 5.69 mm wide. To fill the same 1920-pixel-wide picture, the Super 8 frame is enlarged about 4.4 times more (24.89 ÷ 5.69), and so is every dye cloud on it.

At 1920 pixels across, the 48 µm measuring aperture covers about 3.7 pixels on Super 35 and about 16 pixels on Super 8.

Uniform grey on Kodak VISION3 500T 5219 at Super 35 4-perf: fine grain.
Super 35 4-perf
Uniform grey on Kodak VISION3 500T 5219 at Super 8: much larger, blotchier grain.
Super 8
Model render of a uniform 18 % grey frame on Kodak VISION3 500T 5219 at Super 35 4-perf (left, 24.89 mm wide) and Super 8 (right, 5.69 mm wide), both 1920 px wide, 1:1 crops, gate weave and flicker off. The grain is the same on film; the smaller frame enlarges it about 4.4 times. Sources: KODAK VISION3 500T Color Negative Film 5219 / 7219 Technical Data, H-1-5219t, Revised 7-15, p. 4; ARRI Ground Glasses and Masks: ANSI Super 35 Formats (data sheet 2-7-0), data sheet 2-7-0, p. 1; filmkorn.org super 8 database, 'super 8 film format standards', retrieved 2026-09-23.

So an emulation should define grain as a size on film, in micrometres, and convert it to pixels through the frame width of the chosen gauge. Grain defined in pixels ignores the gauge and changes size whenever the delivery resolution changes.

The stock matters too. Here is 5203, one of the slowest films in Ashigrain’s catalogue, next to a fast black-and-white stock, both on Super 35:

Two grey squares side by side: left, colour film with very fine grain; right, black-and-white film with much coarser, clearly visible grain.: Kodak VISION3 50D 5203Two grey squares side by side: left, colour film with very fine grain; right, black-and-white film with much coarser, clearly visible grain.: Kodak T-MAX P3200
Model render of a uniform 18 % grey frame on Kodak VISION3 50D 5203 (left, printed on 2383) and Kodak T-MAX P3200 (right, printed on 2302), Super 35 4-perf at 1920 px, 1:1 crops. Grain amplitude follows each datasheet's RMS granularity; the grain size in micrometres is a model approximation (no datasheet publishes it).

Sources: KODAK VISION3 50D Color Negative Film 5203 / 7203 Technical Data, H-1-5203t, Revised 7-15, p. 4; KODAK PROFESSIONAL T-MAX P3200 Black-and-White Film Technical Data, F-4001, Revised 04-19, p. 7.

T-Max P3200 has a published granularity of 18 at net density 1.0 (in D-76 developer) and prints no curve (F-4001, p.7), so the model scales that one value with the square root of density. That is an approximation, as is the grain size in both crops. All the images in this article are Ashigrain model renders of synthetic test frames, not scans of real film.

04 — Overlays and procedural grain

Grain overlays and procedural grain

There are two common ways to add grain in an edit: lay a scanned grain plate over the picture, or generate the grain.

  • A scanned plate

    Grain overlay

    A grain overlay is a scan of real film grain, usually from an evenly exposed frame. You put it on a layer above your footage and blend it in, often with an overlay or soft-light mode. Overlays work in any editor and need no plugin, and the texture is the real stock’s texture, irregularities and all. For a quick result they are a sensible choice.

    Their limits come from how they are made: the plate was scanned at one resolution, so scaling or cropping it changes the grain’s size relative to the frame, and enlarging it a lot makes it soft. It is blended onto the finished picture, the display values you see, as one layer. On film the grain sat in each colour layer’s density, before the print, so a blend mode can fade the grain in the highlights or shadows but by its own maths, not the stock’s granularity curve. A plate also records one stock and one gauge, and as a finite clip it loops on a long shot.

  • Ashigrain's route

    Procedural, in density

    Procedural grain in the density domain is generated and added where film carries it: to each layer’s density, after exposure and before the print or scan. Added there, it follows the exposure of each part of the frame layer by layer, and the print turns it into brightness along with the rest of the image.

    Its strength can come from the datasheet granularity and its size can be set on film, so it holds at any resolution and gauge. The trade-off is that the texture comes from a model, not a scan, so it is only as good as the model and the checks behind it.

05 — How Ashigrain models grain

How Ashigrain models grain

Ashigrain is an OpenFX plugin for DaVinci Resolve and other OpenFX hosts on macOS, and it takes the procedural route.

  • Calibrated

    Calibrated to the datasheet

    For each film layer it generates random noise on a grid of cells whose spacing is the layer’s grain size on film, smooths it into a continuous field, and adds it to that layer’s density. The strength is calibrated so that the same measurement Kodak uses, standard deviation of density through a 48 µm aperture, gives the datasheet granularity at each density. The dashed lines in the 500T chart above are that measurement made on Ashigrain renders. They agree with the datasheet because the model is built from it. That is a calibration check, not a comparison with photographed film, which Ashigrain has not yet published.

  • Reference

    The Boolean model

    For the character of the grain, meaning its texture and how its pattern is correlated across space, Ashigrain uses the Boolean model of Newson, Delon and Galerne as the reference (Computer Graphics Forum, 2017). It treats grains as small discs scattered at random and renders them independently of the output resolution. The plugin does not render this model while you grade. It runs the fast grain described above, whose statistics were fitted against the reference. Ashigrain’s code was written from the paper.

  • Approximated

    Grain size is a choice

    Grain size is a modelling choice, not data. None of the datasheets Ashigrain works from publishes the size of the dye clouds or silver clumps, only granularity. Ashigrain uses sizes of about 2.5 to 7 µm on film for the colour stocks, larger for faster stocks and largest in the blue layer, and 5 to 5.5 µm for the black-and-white stocks, values that were halved after early feedback that the grain looked too coarse. They are approximations, and the Size control scales them.

The film stock guide lists, for each stock, where its granularity comes from and what is modelled; Portra 800, for example, publishes no RMS granularity and borrows 500T’s curve. For the whole chain from light to print, see How film emulation works.

06 — In DaVinci Resolve

How to add film grain in DaVinci Resolve

To add a film grain effect with Ashigrain, find it in the Effects library under OpenFX. Put it on the Color page as a node and set its colour space fields to match your project; the workflow guide covers the setups. Then:

Film and format

Pick a film in Film look and its Stock menu, and the gauge in Format (Film section, Pro view). Format sets the grain scale: the same stock on 16mm or Super 8 shows larger grain.

Grain amount

Set Grain amount in Essentials. 1 is the datasheet granularity. The default is 0.8, a little under the datasheet, as a look choice. The slider covers 0 to 2.

Grain section

If you need more control, open the Grain section (Pro view):

  • Size scales the grain size relative to Ashigrain’s size for that stock. 1 is the model’s default, which is an approximation, not a measured value. It is a size on film, so it scales with the format.
  • Color/luma balance sets how much the three layers share one pattern: 0 gives independent grain per layer (colour grain), 1 the same grain in every layer (luma grain). The default comes from the stock.
  • Amount R, Amount G and Amount B scale each layer; 1 is the datasheet.
  • Response Shadows, Midtones and Highlights weight the grain by film density; 1 is the datasheet granularity at that density.
  • Highlight grain sets how much grain the highlights keep, from 0 to 1, with a default of 0.5. It is a look control, not datasheet data: lower values fade the grain from mid-grey upwards.
  • Temporal mode is Animated (a new pattern each frame) or Static, and Seed picks the pattern.

Grain only

To see the grain on its own, set Debug view (Output & Debug) to Grain only. It shows the density change the grain adds as variation around mid-grey, where a change of 0.125 density reaches white or black.

Full resolution

Check the grain at full resolution before delivery. Proxy playback has less detail.

Among the factory presets, 16mm documentary and Super 8 home movie use grain amount 1, and Subtle uses 0.4. The parameter reference lists every grain control with its range and default. For the red glow film adds around bright highlights, see halation.

07 — FAQ

FAQ

Is film grain the same as digital noise?

No. Digital noise comes from the camera’s sensor and electronics. Film grain comes from the structure of the developed emulsion and varies with the film’s density, layer by layer.

Why is film grain often coloured?

Each of the three layers in colour film has its own dye clouds, and the layers differ in granularity. In 500T the blue layer’s published granularity at density 1.0 is about three times that of red and green.

What does "RMS granularity 14" mean?

The standard deviation of density, read through a 48 µm aperture at net diffuse density 1.0, is 0.014. Kodak multiplies it by 1000.

Should Grain amount be 1?

Use 1 if you want the published granularity. The default of 0.8 is a little lighter by choice. Either way, check at full resolution.

Can I just use a grain overlay?

Yes. For a quick result an overlay gives real scanned texture. If you need grain that follows the exposure of each colour layer, matches a stock’s datasheet or holds its size across gauges and resolutions, procedural density-domain grain is the closer fit.

Sources

  1. Eastman Kodak Company. KODAK Essential Reference Guide for Filmmakers, H-845, 2007, printed p.55 (PDF p.57): definition of RMS granularity (σD × 1000, net diffuse density 1.0, 48 µm aperture). kodak.com
  2. Eastman Kodak Company. KODAK VISION3 50D Color Negative Film 5203 / 7203 Technical Data, H-1-5203t, Revised 7-15, p.4. kodak.com
  3. Eastman Kodak Company. KODAK VISION3 500T Color Negative Film 5219 / 7219 Technical Data, H-1-5219t, Revised 7-15, p.4. kodak.com
  4. Eastman Kodak Company. EASTMAN DOUBLE-X Negative Film 5222 / 7222 Technical Data, H-1-5222, Revised 7-15, p.2.
  5. Eastman Kodak Company. KODAK EKTACHROME 100D Color Reversal Film 5294 / 7294 Technical Information, H-1-5294, Revised 3-26, p.3. kodak.com
  6. Kodak Alaris Inc. KODAK PROFESSIONAL T-MAX P3200 Black-and-White Film Technical Data, F-4001, Revised 04-19, p.7.
  7. Newson, A., Delon, J., Galerne, B. “A Stochastic Film Grain Model for Resolution-Independent Rendering.” Computer Graphics Forum 36(8):684-699, 2017. doi:10.1111/cgf.13159
  8. ARRI. Ground Glasses and Masks: ANSI Super 35 Formats, data sheet 2-7-0, p.1 (Super 35 frame width). arri.com
  9. filmkorn.org Super 8 database, “super 8 film format standards”, retrieved 2026-09-23 (Super 8 frame width). filmkorn.org

Continue reading

All articles