3D gradient surface with smooth waves and volumetric lighting

3D Gradient Generator

Render real volumetric 3D gradient surfaces in your browser. The free editor uses WebGL for genuine surface geometry with lighting, not faked depth. Ships 25+ presets and exports to 8K PNG, MP4 video, or a live React component.

Open the editor
Free·No signup·Export instantly

Looking for paid features? See pricing

What is a 3D gradient?

A 3D gradient is a colour gradient rendered on a real three-dimensional surface, not a flat 2D plane. Where a CSS or mesh gradient lays colour across a fixed canvas, a 3D gradient lets light and shadow play across the surface curvature so the colour transitions appear sculpted. Highlights catch on the peaks of the surface; shadows fall in the troughs. The visual feel is closer to industrial design rendering than to flat graphic design.

The aesthetic became mainstream around 2022 with the rise of premium SaaS marketing pages: Stripes mountain-style hero, Apples Watch product pages, the 3D wave backgrounds on Adobe Firefly. Designers used it because it suggests polish and depth without committing to literal photography or illustration. The look has since spread to indie brands, generative art, NFT collections, and any product that wants to suggest premium pricing.

How it works (the WebGL bit)

Under the hood, the 3D gradient generator runs a vertex and fragment shader on your GPU. The vertex shader displaces a flat plane into a sculpted surface using a noise function (a sum of sine waves, typically), and the fragment shader colours each pixel based on its position on the surface, the light direction, and the surface normal at that point.

That description sounds technical, but you do not need to write any of it. The studio handles all shader work for you; you adjust simple parameters (amplitude, frequency, light angle, colour palette) and the engine recompiles the shader on every change. The result renders at 60 fps on any device made in the last decade.

For users who want to drop the live renderer into their own app, the React export bundles the shader as a self-contained component. The component initialises its own WebGL context, manages cleanup, and respects React lifecycle, so it works inside Next.js, Vite, Remix, and Astro without special configuration.

Make a 3D gradient in 4 steps

  1. Open the 3D editor. Visit the free 3D gradient generator. It opens with a default wave surface so you can see the engine immediately.
  2. Pick a preset or sculpt your own. Start from one of 25+ named presets (Aurora, Plasma, Liquid Metal) or adjust wave amplitude, frequency, and roughness manually.
  3. Set colours and lighting. Add 2 to 4 colours that flow across the surface. Move the light direction to position the highlights.
  4. Export. Export as PNG up to 8K, MP4 video on Pro and Studio plans, or React component for live embedding.
Tip. Start with a preset close to what you want, then tweak from there. Building a 3D gradient from a blank canvas is doable but slow; the named presets cover most of the common starting points.

Embedding a 3D gradient in your site

Three ways to use a 3D gradient on your own site, ranked by complexity:

Static PNG background (simplest)

CSS
.hero {
  background: url('/your-3d-gradient.png') center / cover no-repeat;
  min-height: 100vh;
}

Works in every browser, costs only the image download. Use 2K to 4K resolution; pre-compress with WebP if you serve modern browsers. A typical 3D gradient compresses to 150 to 400 KB at 2K resolution.

MP4 video background (animated)

HTML
<video
  autoplay muted loop playsinline
  poster="/your-3d-gradient.jpg"
  style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;"
>
  <source src="/your-3d-gradient.webm" type="video/webm" />
  <source src="/your-3d-gradient.mp4" type="video/mp4" />
</video>

Best for hero sections where you want the wave to feel alive. Use WebM as the first source for size and MP4 as a fallback for older browsers and Slack previews. Keep the file under 2 MB; a 10-second 1080p WebM at the studios default quality typically lands at 1 to 1.5 MB.

Live WebGL React component (interactive)

ThreeDGradient.tsx
'use client'
import { ThreeDGradient } from './ThreeDGradient'

export function HeroSection() {
  return (
    <section className="relative min-h-screen">
      <ThreeDGradient
        amplitude={0.3}
        frequency={1.2}
        colors={['#6366f1', '#ec4899', '#f59e0b']}
        className="absolute inset-0"
      />
      <h1 className="relative z-10 text-white">Your headline here</h1>
    </section>
  )
}

Use this when the gradient needs to react to user input (mouse position, scroll) or when you want zero asset weight on the network. Costs about 80 to 120 KB of JavaScript on first load; runs at 60 fps thereafter.

What you can export

  • PNG. Up to 8K on Studio. Compress to WebP for web; keep PNG for design tools.
  • MP4 video. 1080p on Pro, 4K on Studio. Seamless loop guaranteed.
  • WebM video. Same resolutions as MP4 but smaller file size; preferred for web.
  • React component. TypeScript, no dependencies.
  • JSON state. The complete editor state; useful if you want to re-import and edit later.

Performance

A 3D gradient renders entirely on the GPU. On a typical 2024 laptop or 2022-or-newer phone, the live preview runs at 60 fps with no measurable CPU load. On older or low-end devices the engine reduces preview resolution automatically; the exported file is always full quality.

For Core Web Vitals, the static PNG approach is the safest: it adds zero JavaScript to the critical path and contributes only to LCP via the image download. Live WebGL embedding adds JavaScript and an initialisation delay (typically 80 to 200 ms), so it is worth using only when you need interactivity or per-user variation.

Browser support

WebGL 1.0 is supported in every browser shipped since 2014, including iOS Safari 8+, Android Chrome, desktop Chrome, Firefox, Edge, and Safari. If you need to support older browsers, fall back to a PNG export and serve the live shader version conditionally based on a feature detect (typeof WebGLRenderingContext !== undefined).

About 1 to 2 percent of users have WebGL disabled at the browser level. The React component falls back gracefully to a static gradient if WebGL is unavailable.

When to reach for a 3D gradient

  • Premium SaaS hero sections. The visual cue says expensive and considered.
  • Product launches. A 3D gradient backdrop suggests motion and depth, draws the eye without specifying the product yet.
  • Music album art. 3D gradients pair well with electronic, ambient, and experimental genres.
  • AI startup brand identity. The "neural flow" look that has come to define AI marketing in 2024 to 2026.
  • NFT and generative art. Procedural geometry plus colour control gives you infinite variation from one tool.

3D gradients on production sites

  • Apple: the Apple Watch and AirPods product pages use sculpted 3D gradient backplates.
  • Stripe: the Treasury launch page uses an animated 3D wave hero.
  • Anthropic: the Claude launch site uses 3D gradients on the model-card pages.
  • Mistral AI: the homepage hero in 2025 used a 3D mesh that the team built in-house.
  • Adobe Firefly: hero and section dividers across the Firefly marketing site.

Common mistakes

  1. Over-sculpting. Crank the amplitude too high and the surface stops looking like a gradient and starts looking like terrain. Keep amplitude subtle for marketing use.
  2. Too many colours. 3D gradients work best with 2 to 4 colours. More than that and the colour transitions look muddy on the curved surface.
  3. Wrong light direction. Light from directly above (90 degrees) flattens the surface. Light from 30 to 60 degrees gives the most sculpted look.
  4. Ignoring text contrast. Surface highlights and shadows mean the background colour varies more than on a flat gradient. Test text contrast at both peaks and troughs.
  5. Using video where PNG would do. If the wave is not interactively driven, export a still PNG. Smaller, simpler, faster.

Frequently asked questions

What is a 3D gradient?

A 3D gradient is a gradient rendered on a real 3D surface, not a flat plane. Light direction, surface curvature, and depth combine to produce highlights and shadows the way they would on a sculpted object. The result feels more dimensional than a CSS or mesh gradient and is now common on premium product marketing pages.

Do I need to know WebGL or shader code?

No. The studio handles the shader work for you. You pick the colour palette, lighting direction, and wave parameters; the generator renders the 3D surface in real time. The exported assets (PNG, MP4, React component) require zero WebGL knowledge to use.

Will it work on phones?

Yes. Every modern smartphone supports WebGL 1.0, which is sufficient for the 3D gradient renderer. iOS Safari from version 8, Android Chrome from 2014. On older phones the live preview reduces quality automatically, but the export resolution remains unaffected.

Can I export the wave animation as a video?

Yes. Pro plans support MP4 and WebM at 1080p; Studio plans support 4K. The video loop is seamless: the start frame matches the end frame so it plays continuously without a visible cut.

How is this different from a mesh gradient?

A mesh gradient blends colour across a flat 2D canvas. A 3D gradient renders a real 3D surface, with light catching the curvature. Different geometry, different visual feel. Use mesh for soft 2D backgrounds; use 3D when you want sculpted depth.

Can I embed a live 3D gradient in my React app?

Yes. The React component export is a self-contained TypeScript file that initialises its own WebGL context and renders the gradient at runtime. Drop it into any Next.js, Vite, or Remix project; it does not require additional shader dependencies.

Why does my export look slightly different from the live preview?

The live preview is tuned for responsiveness and may use lower-quality settings on slower devices. The export pipeline always uses full-quality rendering at the requested resolution.

Can I use 3D gradients commercially?

Yes, on Starter, Pro, and Studio plans. The licence covers commercial projects, client work, and resale of derivative designs. Free-plan exports are personal use only and include a watermark.

Ready to design yours?

Free, no signup required. Export to CSS, PNG, React, or MP4 video.

Open the editor