A React renderer for Three.js that lets you build 3D scenes declaratively with JSX components.
ruucm/shadergradient
Customizable 3D moving gradient renderer for React, built on Three.js and React Three Fiber, with Vue, Framer and Figma variants.
- Stars
- 3,093
- Forks
- 180
- Open issues
- 17
- Last commit
- 2 months ago
What is it?
Shader Gradient is a set of components for rendering animated 3D gradient backgrounds. The core package @shadergradient/react provides a ShaderGradient renderer and a ShaderGradientCanvas wrapper, built on React Three Fiber and Three.js. Gradient appearance is controlled through props such as mesh type (plane, sphere, waterPlane), colors, animation speed, strength, frequency, lighting and camera settings.
Settings can also be loaded from a URL generated by the project's online customizer, so a configuration designed on the website can be reused in code. A separate @shadergradient/vue package offers the same idea for Vue 3 and Nuxt, with an SSR-safe canvas, and the project ships a Figma plugin and a Framer component.
The v2 React package intentionally contains only the renderer; stateless UI controls live in @shadergradient/ui, which is used internally for the Framer and Figma integrations.
Key features
- 01Renders animated 3D gradients with plane, sphere and waterPlane meshes.
- 02Configurable colors, animation speed, distortion strength and frequency via props.
- 03Loads settings from a URL copied from the online customizer.
- 04Vue 3 and Nuxt support through @shadergradient/vue with an SSR-safe canvas.
- 05Figma plugin and Framer component for use in design tools.
Use cases
- Adding an animated gradient hero background to a React or Next.js landing page.
- Reusing a gradient designed on the website inside a Vue or Nuxt app.
- Creating gradient visuals in Figma or Framer designs.
Quick start
- 1
Install the React renderer and its peer dependencies
npm i @shadergradient/react @react-three/fiber three three-stdlib camera-controls - 2
Install the Three.js type definitions
npm i -D @types/three - 3
Render ShaderGradient inside ShaderGradientCanvas in your app, as shown in the README usage example
Things to know
- The project has no declared license, so reuse rights are unclear.
- Next.js 15 App Router requires React 19 and @react-three/fiber v9, since v8 is incompatible.
Topics
FAQ
- What is shadergradient?
- Customizable 3D moving gradient renderer for React, built on Three.js and React Three Fiber, with Vue, Framer and Figma variants. Shader Gradient is a set of components for rendering animated 3D gradient backgrounds. The core package @shadergradient/react provides a ShaderGradient renderer and a ShaderGradientCanvas wrapper, built on React Three Fiber and Three.js. Gradient appearance is controlled through props such as mesh type (plane, sphere, waterPlane), colors, animation speed, strength, frequency, lighting and camera settings.
- Is shadergradient free to use? What license does it have?
- shadergradient has no declared license. Its code is public, but without a license you have no explicit permission to reuse it; ask the author before relying on it.
- Is shadergradient still maintained?
- Updated within 6 months. The last commit to shadergradient was on Sep 23, 2026.
- What can I use shadergradient for?
- Adding an animated gradient hero background to a React or Next.js landing page. Reusing a gradient designed on the website inside a Vue or Nuxt app. Creating gradient visuals in Figma or Framer designs.
- How do I install shadergradient?
- Install the React renderer and its peer dependencies: npm i @shadergradient/react @react-three/fiber three three-stdlib camera-controls Install the Three.js type definitions: npm i -D @types/three Render ShaderGradient inside ShaderGradientCanvas in your app, as shown in the README usage example
- Where can I get shadergradient?
- The source code and installation instructions are on GitHub: https://github.com/ruucm/shadergradient
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A lightweight, dependency-free smooth scroll library for the web that wraps native scrolling with eased, animated motion.
A camera control library for three.js that adds smooth transitions and more features on top of OrbitControls-style orbiting.
Browser-based previs studio for blocking scenes, posing characters, and cutting camera moves, then sending the shots to AI video models.
A collection of Claude Code skills and plugins teaching Claude about Three.js, GSAP, React Three Fiber, Framer Motion, Babylon.js and other web 3D and animation tools.
Interactive 3D insect field guide where 63 species are modeled procedurally in the browser with TypeScript and Three.js, with no model files.