Join the
Community

Explore 100s of examples made with the GradientArt editor. Learn from others, share your work.

Loading community creations...

Find inspiration in the community's most-used tags.

Designer
Friendly
Interface

Unlock the power of CSS gradients with a set of visual controls for every possible property.

Make it
yours.

Try the Carbon Fiber project. Change its colors, strip thickness, and shadows with the same controls you'll find on its project page.
Carbon Fiber · Made entirely with CSS gradients

Customize

Try different values. Your changes stay in this preview and never change the saved project.

#
#
#

Create variables once and reuse them across layers. Choose which controls to share so visitors can make the design their own, without changing your original.

From canvas to your
website.

Your design is ready-to-use HTML, with its styles and SVG layers included. See your changes in the code below, or open the project to download it.
Code
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Carbon Fiber</title> <style> #root { --color-1: rgb(69 91 110 / 1); --color-2: rgb(58 71 84 / 1); --background: rgb(1 6 13 / 1); --strip-thickness: 40; --shadow-size: 10; width: 500px; height: 500px; background: linear-gradient(-45deg, rgb(58 70 83 / 1) calc((var(--strip-thickness) / 2) / 1 * 1%), rgb(0 0 0 / 0.5) calc(((var(--strip-thickness) / 2) + 1) / 1 * 1%), rgb(0 0 0 / 0.3) calc(((var(--strip-thickness) / 2) + 2) / 1 * 1%), rgb(255 255 255 / 0) calc(((var(--strip-thickness) / 2) + var(--shadow-size)) / 1 * 1%), rgb(255 255 255 / 0) calc(((100 - (var(--strip-thickness) / 2)) - var(--shadow-size)) / 1 * 1%), rgb(0 0 0 / 0.3) calc(((100 - (var(--strip-thickness) / 2)) - 2) / 1 * 1%), rgb(0 0 0 / 0.5) calc(((100 - (var(--strip-thickness) / 2)) - 1) / 1 * 1%), rgb(58 70 83 / 1) calc((100 - (var(--strip-thickness) / 2)) / 1 * 1%)) 0px 0px / 100px 100px repeat, /* -45deg fiber */ linear-gradient(45deg, rgb(255 255 255 / 0) calc((((100 - var(--strip-thickness)) / 2) - var(--shadow-size)) / 1 * 1%), rgb(0 0 0 / 0.3) calc((((100 - var(--strip-thickness)) / 2) - 2) / 1 * 1%), rgb(0 0 0 / 0.6) calc((((100 - var(--strip-thickness)) / 2) - 1) / 1 * 1%), var(--color-1) calc(((100 - var(--strip-thickness)) / 2) / 1 * 1%), rgb(69 90 109 / 1) calc((100 - ((100 - var(--strip-thickness)) / 2)) / 1 * 1%), rgb(0 0 0 / 0.6) calc(((100 - ((100 - var(--strip-thickness)) / 2)) + 1) / 1 * 1%), rgb(0 0 0 / 0.3) calc(((100 - ((100 - var(--strip-thickness)) / 2)) + 2) / 1 * 1%), rgb(255 255 255 / 0) calc((100 - (((100 - var(--strip-thickness)) / 2) - var(--shadow-size))) / 1 * 1%)) 0px 0px / 100px 100px repeat, /* 45deg fiber */ linear-gradient(-45deg, rgb(255 255 255 / 0) calc((((100 - var(--strip-thickness)) / 2) - 1) / 1 * 1%), var(--color-2) calc(((100 - var(--strip-thickness)) / 2) / 1 * 1%), var(--color-2) calc((100 - ((100 - var(--strip-thickness)) / 2)) / 1 * 1%), rgb(255 255 255 / 0) calc(((100 - ((100 - var(--strip-thickness)) / 2)) + 1) / 1 * 1%)) 0px 0px / 100px 100px repeat, /* -45deg fiber */ linear-gradient(var(--background), var(--background)) 0px 0px / 100px 100px repeat; /* Background */ } </style> </head> <body> <div id="root"></div> </body> </html>

Background
Layering

Stack multiple background layers to create complex designs. Each layer can have a gradient with multiple color stops, and any other background and gradient properties.

Shape it. Arrange it.
Make it
your own.

A full path editor, alignment and spread tools, and clipping masks. More ways to turn layers into your next idea.

A full path editor.
Every curve, yours.

Draw straight lines and curves, refine vertices and handles, and build shapes from multiple subpaths. Unite, subtract, intersect, or exclude contours without losing their editable points.

Drag any vertex to reshape the path, or focus a vertex and use the arrow keys. Change the top point between a curve and a corner, then adjust its handles.

A single contour, with its top vertex and curve handles in view.

Align. Spread.
Find your rhythm.

Bring selected layers into line or spread their centers evenly, horizontally or vertically. The same alignment tools work on selected path vertices, too.

These four layers are selected. Try an alignment or spread them out.

Four layers. One selection.

Spread keeps the outermost centers fixed. Sizes stay unchanged.

Your artwork.
A new silhouette.

Clipping masks reveal artwork through the visible areas of the layer below. Fill a shape, text, or pattern with a gradient, while keeping both layers editable.

Choose a mask, then switch clipping off to see the original gradient.

The same gradient, revealed through a star.

Try these demos freely. Your editor project stays untouched.

Think in layers.
Create in
folders.

Turn individual layers into a composition. Nest folders inside folders, then move, transform, or filter their contents together.
An iridescent hummingbird, built from layered paths, clipped gradients, and fine feather details.

A home for every detail

Toggle an eye to hide a folder. Every layer inside follows along.

Folders become nested HTML elements, so your structure stays intact when you export.

A new angle on
the
same layers.

Rotate, scale, skew, and move a whole folder. Keep the details together while you change the bigger picture.
Every feather follows. One transform applied to the hummingbird's parent folder.

Give it a spin

Adjust the sliders and watch every nested layer move as one.

transform: rotate(-15deg) skew(10deg, 0deg) scale(0.85, 0.85);

Same artwork.
Different
atmosphere.

Shift the colors, soften the edges, or add a shadow. Combine CSS filters on a folder without changing its individual layers.
Original
Soft glow
filter: blur(1.5px) brightness(115%) drop-shadow(0px 8px 12px rgb(13 234 227 / 0.55));

Real CSS filters, rendered live. Your experiments here leave your editor project untouched.

Shape the blend. Add
texture.

Go beyond color stops with easing functions and noise layers.

Easing functions

Control how one color flows into the next. Choose an easing preset or shape your own curve, then adjust the steps to balance smoothness and CSS size.

Linear
Steps
The same two colors, with a different transition.

Noise layers

Add texture alongside your gradients. Explore fractal noise and turbulence, then tune the frequency, octaves, and seed to make it your own.

Gradient only
With noise
A noise layer brings texture to the same gradient.

Free
Cloud
Storage

Save your projects on the cloud, for free! Each project gets a public URL that you can share with others for viewing and editing purposes.

What will you make with gradients?

Start with a blank canvas or follow a spark from the community.
Your next idea belongs here.