Animated gradients for any website · v1.0

Shader Gradients

Fluted glass, liquid chrome, oil slick, caustics, prism light and twelve more moving backgrounds, or your own colors. WebGL shaders you paste in with a script tag, or use as a React or Framer component. Grain, distortion, mouse and still frames included.

One-time payment · Instant download · Single-project license · Free v1.x updates

Works with

  • FramerCode component, properties panelIn the v1.0 download
  • Plain HTML / any site<pf-gradient> tag + one scriptIn the v1.0 download
  • WebflowCode Embed element (or paste into Footer code)In the v1.0 download
  • WordPressCustom HTML blockIn the v1.0 download
  • ShopifyCustom Liquid sectionIn the v1.0 download
  • Squarespace, WixCode / embed block (plan must allow custom code)In the v1.0 download
  • React, Next.js, Vite<ShaderGradient /> componentIn the v1.0 download

17 presets

Each card is the real component, as a still frame. Hover (or focus) one to play it. Use any of them with preset="glass", then change the colors to your own.

Glass

Fluted glass over indigo, pink and peach, with chromatic edges.

preset="glass"

Chrome

Liquid metal with studio reflections, black to white.

preset="chrome"

Oil Slick

Thin-film rainbow bands drifting over blue-black.

preset="oilslick"

Caustics

Sunlight through water, rippling over a deep teal floor.

preset="caustics"

Prism

A white beam fanning out into a full spectrum.

preset="prism"

God Rays

Light rays pouring through haze from above.

preset="godrays"

Blobs

Grainy, gooey blobs that merge and split on black.

preset="blobs"

Retro

An ordered-dither sunset, in chunky retro pixels.

preset="retro"

Aurora

Northern-light curtains in cyan, violet and green over night blue.

preset="aurora"

Mesh

The soft, Stripe-style mesh gradient: five colors drifting into each other.

preset="mesh"

Lava

Slow molten blobs in crimson, orange and amber.

preset="lava"

Silk

Light folds of sand, lavender and blush, with a soft sheen.

preset="silk"

Sunset

Plum, rose, coral and gold, flowing like warm smoke.

preset="sunset"

Ocean

Deep navy to sea foam, in slow currents.

preset="ocean"

Holo

Iridescent pastels, like holographic foil.

preset="holo"

Dusk

Pink, violet and peach curtains on a dusk-blue sky.

preset="dusk"

Mono

Black-to-white silk for type-led, editorial pages.

preset="mono"

What it does

  • 17 presets. Glass, chrome, oil slick, caustics, prism, god rays, blobs and retro dither, plus aurora, mesh, lava, silk, sunset, ocean, holo, dusk and mono.
  • Your colors. Any 2 to 5 colors, in any CSS format, or Framer color tokens.
  • 13 patterns. Fluted glass, liquid chrome, thin film, caustics, light rays, prism, blobs, dither, flow, mesh, lava, silk and aurora, each with scale, distortion and softness.
  • Film grain. A fine, animated grain that hides banding. Turn it up, or off.
  • Mouse. Optionally, the gradient bends toward the cursor.
  • Static frames. Pick a frame and keep it still, for when you only want the look.
  • Light on the page. 10.4 KB gzipped. Renders at 1x and steps down on slow devices.
  • Respectful. Pauses offscreen and in background tabs, and shows a still frame with Reduce Motion.
  • Same settings everywhere. HTML attributes, React props, or Framer's properties panel.

What's in the download

  • shader-gradients.min.js: drop-in script for any website (25 KB, 10.4 KB gzipped)
  • shader-gradients.esm.js + TypeScript types, for bundlers
  • react/ShaderGradient.tsx: React component (React 18+, no Framer needed)
  • framer/ShaderGradient.tsx: the Framer code component
  • demo.html with all 17 presets and live sliders, quick starts for each platform
  • Free updates to v1.x

Single-project license (LICENSE.md in the download): one website or project per license.

Install in about a minute

  1. Upload shader-gradients.min.js from the download to your site.

  2. Add the script once, and a <pf-gradient> tag wherever you want a gradient.

  3. Pick a preset, or set your own colors, speed, grain and more as attributes.

<script src="/shader-gradients.min.js" defer></script>

<pf-gradient preset="glass" style="height: 600px"></pf-gradient>

Squarespace and Wix: add the script and the tag in a Code or Embed block (your plan must allow custom code). The download's README has a quick start for every platform and the full settings reference.

Shader Gradients

$12 one-time

  • Script tag, React and Framer builds
  • All 17 presets and every setting
  • Free v1.x updates
  • Single-project license
Buy on Polar · $12

Secure checkout by Polar. Instant download after payment.

FAQ

Where does it work?

Anywhere you can add a script tag: Webflow, WordPress, Shopify, Squarespace, Wix, plain HTML. Also React/Next.js and Framer. Site builders need a plan that allows custom code.

Do I need to write code?

No. You paste one snippet and pick a preset. Colors and the rest are HTML attributes, or Framer's panel.

Does it slow my page down?

The script is 10.4 KB gzipped. It renders one shader at 1x resolution on the GPU, lowers its resolution on slow devices, and pauses offscreen and in background tabs.

Does it work on phones?

Yes. It's WebGL 1, which every current phone browser supports, and it falls back to a Canvas 2D gradient where WebGL is off.

Can I put text on top?

Yes. Put your content inside the tag (or the React component), and it renders over the gradient. The gradient is decorative and hidden from screen readers.

What about Reduce Motion?

Visitors with Reduce Motion turned on see a still frame. You can also set a static frame for everyone.

What's the license?

Single project: one website or project per purchase. The details are in LICENSE.md in the download.

Do I get updates?

Yes, free updates for v1.x.

Questions before buying?

Email hi@gunnargray.com.

Hear about updates

The launch, new presets, v1.x releases and the occasional new tool. No more than that.