Free grain texture PNG: transparent and seamless

A 1024 × 1024 noise overlay with a transparent background, in white and in black. It tiles with no visible seam, so it covers a background of any size. Below, preview it on your own colours, then copy the CSS or follow the Figma, Photoshop or Canva steps.

White grain: for dark designs, or any design with Overlay / Soft light.
Download PNG (1.4 MB)
Black grain: for light designs with Normal blending.
Download PNG (1.4 MB)

License: free for personal and commercial projects, including client work. No attribution needed. Please don't re-share or sell the file itself as a texture or stock asset; link to this page instead.

Preview it on your colours

This uses the same grain, layered the same way as the CSS below. Change the settings and the CSS updates to match.

Grainy.

At 1024 px each texture pixel is one CSS pixel, which is the safest default. On Retina screens, 512 px gives finer grain that is still sharp. On ordinary 1× screens, sizes below 1024 px soften the grain.

How to add grain in CSS

Put the texture on a pseudo-element that sits over the element. Then the grain blends with whatever is underneath (gradient, photo or video) and never blocks clicks:

.grainy { position: relative; isolation: isolate; }
.grainy::after {
  content: "";
  position: absolute;
  inset: 0;
  background: url(grain-texture-white-1024.png) 0 0 / 1024px repeat;
  mix-blend-mode: overlay;   /* or soft-light */
  opacity: .35;
  pointer-events: none;
}

Figma

Add a rectangle over your design, set its fill to Image, choose this PNG and switch the image mode from Fill to Tile. Then set the layer blend mode (the dropdown next to layer opacity) to Overlay or Soft light, at 20–50% opacity. Figma also has a built-in Noise effect. The PNG is useful when you want the exact same grain in Figma and in production CSS.

Photoshop

Open the PNG and choose Edit → Define Pattern. In your design, add Layer → New Fill Layer → Pattern, pick the grain pattern and set the layer's blend mode to Overlay or Soft light. Change Scale in the pattern dialog to make the grain finer or coarser. Because it's a fill layer, it extends to any canvas size with no seams.

Canva, Keynote and Google Slides

Upload the PNG, place it over your design and stretch it to cover the page. Lower its transparency to around 15–35%. Use the white grain on dark designs and the black grain on light ones. If your editor offers blend modes for images, Overlay or Soft light looks best. If not, plain transparency works because the grain is already on a transparent background.

A note on video

A still grain image on top of moving footage looks like dust on the lens, not film grain, because real grain changes every frame. For video, offset the overlay's position randomly every frame (most editors can wiggle position), or use an animated grain clip.

8 overlays at 2K–4K, if you need more than one look

The free file is the "fine grain" overlay from GRAIN + NOISE, a pack of 8 seamless transparent overlays: fine, soft, coarse and film grain at 2048 px, and paper, dust, halftone dots and scanlines at 4096 px. Each one tiles, and each is white on transparent so the blend modes above work as-is.

Fine grain overlay preview
Fine grain · 2048
Soft grain overlay preview
Soft grain · 2048
Coarse grain overlay preview
Coarse grain · 2048
Film grain overlay preview
Film grain · 2048
Paper texture overlay preview
Paper · 4096
Dust speckle overlay preview
Dust speckle · 4096
Halftone dots overlay preview
Halftone dots · 4096
Scanlines overlay preview
Scanlines · 4096

Want the actual soft-grain and fine-grain 2048 files from the pack as free downloads? Free soft & fine grain overlays.

GRAIN + NOISE, 8 overlays, $3 MESHGRAIN — 100 backgrounds + overlays, $6 (<$0.06 each)

Same license as the free file: commercial use, no attribution. The overlays are generated procedurally with numpy (frequency-domain noise on a torus). They aren't AI image-model output.

Also free: grainy gradient wallpapers (4K + iPhone) · ogkit (OG image maker) · AppShot (App Store screenshots) · Favikit (favicons)