Free Online CSS Text Gradient Generator with background-clip
Fill type with a gradient using background-clip: text. Choose linear, radial or conic, edit the stops and the angle, and turn on an animated variant that moves the gradient across the words. The output carries the WebKit properties that are still required and a solid colour fallback for browsers without support.
Gradient type
This is real type with the generated rule applied. Try selecting the words with the mouse to see what a selection highlight does to gradient text.
Enjoying WizTools123? Help keep our server infrastructure 100% free and open for everyone.
How to Fill Text with a Gradient in CSS
A few steps, and nothing is uploaded.
What to Know About Gradient Text
Including where it disappears, and why it needs a fallback.
background-clip: text is standard now and supported everywhere, but Safari and older Chrome still need -webkit-background-clip: text, and the transparent fill is only reliable through -webkit-text-fill-color: transparent rather than color: transparent, because -webkit-text-fill-color wins over color wherever it is understood. The generated rule writes all four properties, which looks redundant and is not. Dropping the prefixed pair is the usual reason gradient text works in one browser and shows a block of solid colour in another.
@supports not ((background-clip: text) or (-webkit-background-clip: text)), and inside it the text is given your first stop colour as a normal color with -webkit-text-fill-color: currentColor. A browser that cannot clip the background to the glyphs then shows solid coloured text instead of transparent text on a coloured box. Keep that block: it is three lines, and without it an unsupported browser can render a heading as an unreadable rectangle.
Key Features & Capabilities
What this tool does, and what it deliberately does not.
About the CSS Text Gradient Generator
Gradient text is a small trick with a sharp edge. The element gets a gradient as its background, the background is clipped to the shape of the glyphs, and the text fill is set to transparent so the gradient shows through. Four properties and it is done. What makes it worth a tool is that two of those properties are still vendor prefixed, and that the failure mode, when they are missing or unsupported, is a solid coloured box with invisible writing on it.
So the output here is deliberately longer than the snippet most people paste. It writes the standard background-clip and color alongside -webkit-background-clip and -webkit-text-fill-color, because Safari needs the prefixed clip and the prefixed fill colour beats color wherever it is understood. Then it adds an @supports block that puts a solid colour back for anything that cannot do the clip at all.
The preview is real type rather than an image of type, which matters more here than for most effects. Gradient text depends on how much ink is actually on the screen: the same gradient across a 900 weight display size looks rich and across a 400 weight paragraph looks like a smudge. Being able to change the size, the weight and the words and watch the result is the only reliable way to judge it, and selecting the text in the preview shows you the highlight problem straight away.
Frequently Asked Questions
The WebKit properties, selection, contrast and animation.
-webkit-background-clip: text is still required by Safari and older Chrome, and -webkit-text-fill-color: transparent is the reliable way to clear the fill, because it takes precedence over color in every engine that supports it. Write the standard properties too, in this order, and you are covered both now and when the prefixed pair eventually stops being needed.::selection colours on the element, but the honest answer is to keep gradient text decorative rather than something a reader needs to copy.@supports fallback and why the notes insist gradient text should never carry information on its own. If a heading matters, make sure the same words appear in the page title, a landmark or the surrounding text.background-position across it in a loop, so the part of the gradient showing through the glyphs keeps changing. The keyframes are generated with your class name. The rule also disables the animation under prefers-reduced-motion: reduce, which any looping animation should do.