CSS Gradient Generator

Builds a linear, radial or conic gradient and measures how much the color sags in the middle, which blend mode fixes it, and whether text stays readable on top.

Text over the gradient

The tool measures which method fits your pair of colors and writes it in the warnings below. A fallback line for browsers that don't understand the notation gets into the code on its own.

Drag the handles with your mouse. Click an empty spot to add a stop.

plain sRGB
in oklab

What to check

CSS

The same in SCSS and Tailwind Collapse SCSS and Tailwind

SCSS

Tailwind

Fine-tuning Collapse fine-tuning

The tool walks the full length of your gradient with three blending methods at once and measures how much saturation is lost in the deepest dip. The notes show all three numbers and tell you which method works best for your colors. A couple of foreign generators have a blending switch, but you pick blind there: one pair of colors likes one method, another pair likes a different one.

When the colors sit too far apart and no method saves them, the tool says so too, and suggests putting a third stop of a saturated color between them.

Fallback included in the output

The generated code has two background-image lines: the plain gradient first, then the same gradient with a color space named. A browser that doesn't understand the second line drops it and stays on the first. That's the normal cascade rule at work, so @supports isn't needed here. Whether your own browser understands the color-space line, the tool checks right on the page and reports the result instead of quoting version numbers from memory.

Text over a gradient

A gradient background is tricky for text: it reads fine near one edge and poorly near the other. The tool takes the hardest point of the whole gradient and measures contrast against black and white by WCAG 2.1. The answer says which text color holds up better, how much headroom you have, and where that hardest point sits.

Banding on large areas

A smooth gradient stretched across a full screen often renders in visible steps: each channel has only 256 values, and neighboring shades clump into noticeable bands. A barely visible noise layer over the fill breaks up the step boundaries. Turn it on with a checkbox, and it lands in the code as a single extra layer.

Three kinds and color stops

Linear with an angle and quick preset directions, radial with a shape, size and center, conic with a starting angle. Up to ten stops, and you drag them right along the bar. A new stop drops into the widest gap and takes its color from there, so a gradient you've already built doesn't break. The result exports as CSS, SCSS, or a Tailwind string.

What to try next

Pull gradient colors straight from a picture with the image color palette, convert a single color between HEX, RGB and HSL with the HTML color codes tool, and reorganize finished CSS by nesting with the CSS to SCSS converter.

Rate this tool

Help us get better

Other tools