Free tool

Mesh gradient generator

Make an animated mesh gradient in your browser: blend up to six colours, shape them with warp, blur and grain, and export a PNG or a seamless MP4 loop without a watermark, or copy it as a React component.

Start from a palette

Mesh gradients in the colours of free presets. Open one to tune it and export.

How it works

What you can make, what you get out, and how the colours blend.

MakeMake a mesh gradient

The generator opens on the Mesh style. Pick two to six colours and a background, or start from one of the palettes above. Colour order matters: the first colour sits in the light and the last in the shadow, so put your lightest colour first.

Then shape it. Scale sets how large the colour fields are, Blur how softly they meet, and Warp how much they ripple into each other. Seed turns the direction the light comes from, and Speed sets how fast the colours drift. Add grain to take the digital smoothness off.

ExportPNG, MP4, link or code

Copy a share link, copy the gradient as code for React, Vue, Svelte or plain HTML, or copy one shadcn command that installs it as a component in your project. Tuning and share links need no account; copying code or exporting needs a free one.

Export a still PNG up to 1920px, or an MP4 of up to 10 seconds at 1080p and 60 fps, free and without a watermark. Pro goes up to 16K stills and 6K video. Video export needs WebCodecs, which Chrome and Edge support today.

EngineBlended in OKLab, looped exactly

Each colour is a soft field of light, and the shader blends them in OKLab, a colour space built to match how people see. A plain RGB blend turns the space between blue and orange muddy grey; an OKLab blend stays clean. Where fields overlap the shader also restores most of the colourfulness that averaging takes away.

The fields drift around closed circular paths, so the motion never jumps back to a start. An exported MP4 is always one whole loop that ends where it began, ready to repeat with no seam.

LiveA mesh that moves

Most mesh gradient tools give you a still image or a block of CSS radial gradients. Those work, and cost nothing to run, but they sit still or move only as fast as CSS can animate them. How to make a mesh gradient in CSS and React shows the CSS way and when it's enough.

Here the mesh is a live shader. It moves, it can react to the pointer and to scrolling, and it follows CSS variables, so the same component can switch colours with your light and dark theme.

A mesh in your own code

The same mesh gradient, live in a React or Next.js page.

pnpm dlx shadcn@latest add https://gradients.sh/r/mesh-gradient.json

Then render <MeshGradient className="h-[480px]" colors={["#ffd9a8", "#f58c3d", "#d23e4c", "#6a1f6e"]} /> behind your content. The Mesh Gradient docs list every prop, and the Stripe-style mesh gradient guide builds a full hero with one.

Questions

Is the mesh gradient generator free?
Yes. Tuning a gradient needs no account. Copying its code or exporting it needs a free account, and free exports have no watermark: PNGs up to 1920px and MP4 loops up to 10 seconds at 1080p60.
Can I drag the colour points?
No. The Mesh style places up to six colour fields for you along a lit diagonal and animates them. You shape the result with Seed, Scale, Warp and Blur rather than by dragging points. If you need exact control over every point, a point-based tool that outputs a still image or CSS suits you better.
Can I export an animated mesh gradient as a video?
Yes. Export an MP4 from the editor and the gradient loops with no seam: the colour fields move on paths that return to where they began. The video is one full loop, set by the Loop control from 4 to 30 seconds. Free MP4s stop at 10 seconds, so keep Loop at 10 or less on the free plan; the palettes on this page are already set to 10. If you move the Speed slider, the export rounds Speed to a whole number to keep the file looping, so set it to 1 or 2.
How do I add a mesh gradient to a React or Next.js site?
Install Mesh Gradient with the shadcn CLI, give it a height, and pass your colours in the colors prop. It renders with WebGPU, or WebGL2 where WebGPU is missing. Before the first frame, and on devices that can't run the shader, it shows a CSS version of the same gradient.
Can I use the gradients in commercial work?
Yes. The free presets and anything you export from them are yours to use anywhere, client and paid work included. The free components are MIT licensed.