About Mesh Gradient Generator
CSS has no native mesh gradient primitive — there is no single background-image value that paints several colours blending smoothly across a surface the way design tools like Figma can. What every CSS mesh gradient actually is, under the hood, is several radial gradients stacked on top of each other, each one a soft coloured blob that fades to transparent before it reaches its neighbours. Layered together, the overlaps read as a smooth blend.
Each point here is exactly one of those radial gradient layers: a position (as a percentage, so it stays responsive) and a colour. Moving a point moves where that layer's centre sits; the spread control changes how far each one fades out before it turns transparent, which is what determines whether the blend looks tight and distinct or soft and merged.
The technique holds up well at typical background sizes — a hero section, a card, a full-page backdrop — without needing SVG filters, a canvas, or JavaScript at render time. It is just CSS, and it degrades gracefully: a browser that somehow ignored the gradients would just show the flat base colour underneath.
How to build a mesh gradient
Add or remove colour points
Three to six points, each with its own position and colour.
Drag positions with the sliders
Watch the preview update live as you move each point.
Adjust the spread
Controls how far each colour fades before turning transparent.
Copy the CSS
One background-image declaration, ready to paste.