pngtoolskit.org
PNG and image utilities, in the browser
Say hi →

Generate a Noise Texture PNG

mono or colour grain · adjustable amount and grain size · alpha noise option

A grain texture to lay over a flat design. Noise is the cheapest way to stop a large area of solid colour or a wide gradient looking dead and digital, and it's the standard fix for banding on 8-bit displays.

Ready.

Monochrome versus colour

Monochrome noise varies brightness only — every pixel moves the same amount in all three channels, so the grain is neutral grey. This is what film grain looks like and what you want for almost every design use, because it doesn't disturb the colours underneath.

Colour noise randomises each channel independently, producing the coloured speckle of a high-ISO digital sensor. It reads as a fault rather than a texture, which occasionally is the point — glitch art, CRT simulation, deliberate degradation.

Grain size renders the noise at a fraction of the resolution and scales it up with no smoothing, so each "grain" is a hard block of several pixels. 1 gives fine per-pixel grain; 3–4 gives a coarse, visible texture that survives being displayed at small sizes; 8 and above becomes a mosaic.

Using it as an overlay

The usual workflow is to generate opaque grey noise and composite it with Overlay images using the overlay or soft light blend mode at 5–15% opacity. Mid-grey is neutral in both of those modes, so only the deviation from grey affects the image — that's why the default base colour is #808080. It darkens the darks and lightens the lights very slightly, exactly like grain.

The random transparency option is the alternative: instead of grey pixels it produces pixels of your base colour with random alpha, which you can drop straight over anything in CSS or a design tool without a blend mode. It only makes sense as PNG or WebP, since JPG has no alpha channel.

Note that noise does not tile — each pixel is independent, so the edges won't match when repeated. Generate it at the size you need, or run the result through Seamless pattern in mirror mode. It also compresses badly by nature: random data is incompressible, so a large noise PNG is genuinely large. Generate a modest tile rather than a 4000 px sheet.

FAQ

How do I add grain to an existing photo instead?

Add noise applies it directly to an image you upload, which is simpler than generating and compositing.

Is this Perlin or simplex noise?

No — it's uniform random per pixel (white noise). Perlin and simplex are smooth, coherent noise for terrain and clouds, which is a different algorithm and a different look.

Why is my file so big?

Random data can't be compressed — that's information theory, not a bug. Use a smaller texture, or a larger grain size, which introduces repetition that PNG can exploit.

What amount should I use?

Generate at 100% and control the strength with opacity when you composite. That gives you a reusable texture instead of baking the intensity in.