The short version
- A noise gradient is a smooth colour blend with a layer of fine random noise on top, which gives it a printed, tactile finish and hides banding.
- The two settings that matter most are noise frequency, which controls grain size, and opacity, which controls how strong it looks.
- Fractal noise at a frequency between 0.6 and 0.9, blended in Overlay or Soft Light at 8 to 20 percent opacity, suits most screen backgrounds.
- Dark noise gradients need less noise than light ones, because grain is most visible in shadows and mid tones.
- In CSS, noise can be drawn by an inline SVG
feTurbulencefilter, so it stays sharp at any size and needs no image file.
On this page
A noise gradient is a smooth colour blend with a fine layer of random noise laid over it, so the colour feels printed rather than rendered. The blend gives you the colour and the direction of light; the noise gives you a surface and stops the blend from breaking into bands. Below are five recipes you can copy, then a plain explanation of every generator setting so you can make your own.
Five noise gradient recipes
Each recipe is a base gradient and a noise setting. The gradients are shown here without noise so you can see the colour; the table below gives the noise to add on top. They are deliberately different from each other: one dark, one light, one warm, one cool, one bold.
Frequency
Blend
Opacity
Why
Frequency
Blend
Opacity
Why
Frequency
Blend
Opacity
Why
Frequency
Blend
Opacity
Why
Frequency
Blend
Opacity
Why
Noise gradient generator settings explained
Every gradient generator with a noise option, and every SVG noise filter, uses some version of the same controls. Once you know what each one does you can read any recipe and fix any result.
What it changes
Good starting point
What it changes
Good starting point
Good starting point
What it changes
Good starting point
What it changes
Good starting point
What it changes
Good starting point
Good starting point
How to make a noise gradient in CSS
The cleanest method layers an SVG noise image over your gradient in one background declaration, then blends them. Swap the gradient for any recipe above and set the frequency and opacity from the table.
.noise-gradient {
position: relative;
isolation: isolate;
background: radial-gradient(circle at 70% 25%, #8b5cf6 0%, #3b1a78 40%, #0e0820 80%);
}
.noise-gradient::before {
content: "";
position: absolute;
inset: 0;
z-index: -1;
pointer-events: none;
/* Recipe 1: frequency 0.85, 3 octaves */
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='256' height='256'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
mix-blend-mode: overlay;
opacity: 0.08;
}stitchTiles makes the tile repeat without seams.The high contrast speckle method
For a bolder, almost risograph look, put the noise and the gradient in the same layer and push them through a contrast filter. The noise gets crushed into hard specks that follow the light of the gradient. It is louder than recipe 3, so use it for posters and hero banners, not behind body text.
.speckle {
background:
linear-gradient(160deg, #ff7a3d 0%, transparent 70%),
url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='s'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23s)'/%3E%3C/svg%3E");
filter: contrast(170%) brightness(1000%);
mix-blend-mode: multiply; /* over a coloured parent, e.g. #5b2a86 */
}Choosing the right noise for the format
Noise is relative to the canvas. The same filter reads as fine on a phone story and coarse on a small banner, so scale the frequency to the format rather than reusing one file everywhere.
A 1080×1920 story is seen up close on a phone: keep the noise fine and fairly light.
A 1920×1080 website hero fills a large screen: lower the opacity, as large areas make noise obvious.
- Stories and posts: frequency around 0.8, opacity 8 to 14 percent. Slightly more than you think, as uploads soften it.
- Website heroes: frequency 0.7 to 0.9, opacity 4 to 10 percent. See website hero backgrounds.
- Posters for print: coarser grain, frequency 0.5 to 0.7 at the final pixel size, so it survives the press.
- Dark backgrounds: halve your usual amount. Dark gradient backgrounds explains why shadows show grain first.
Noise gradient or grainy gradient
They are the same idea with different emphasis. People say grainy gradient when they mean the look, and noise gradient when they mean how it is made. Grainy gradients covers why grain works and where to place it; this page is the recipe book. If you want texture without a colour blend, start with grain texture instead.
If you would rather not tune sliders at all, every Gradiently Mark carries its own grain setting alongside its colours, light and motion, rendered fresh at every size so noise never stretches or blurs. Design with any unclaimed Mark for free.
Questions people ask
What is a noise gradient?
A smooth colour blend with a fine layer of random noise on top. The noise gives it a printed finish and hides banding.
What noise settings should I use for a gradient?
Fractal noise, monochrome, a frequency of 0.6 to 0.9 and 2 to 4 octaves, blended in Overlay or Soft Light at about 8 to 20 percent opacity.
How do I add noise to a gradient in CSS?
Layer an inline SVG with an feTurbulence filter over the gradient, on a pseudo element, and set mix-blend-mode: overlay with a low opacity.
Why does my noise gradient look blurry after uploading?
Platforms recompress images and smooth out fine detail. Export at the exact platform size as PNG or high quality JPEG, and use slightly more noise for social posts.
Is a noise gradient the same as a grainy gradient?
Yes, in practice. Grainy describes the look and noise describes the method used to make it.
Written by Gradiently
The team behind Gradiently, a design tool built around Marks: living gradients that make everything you design look like yours.
See our profile