Skip to Content
DocumentationIntroduction

Introduction

Mesh Gradient is a library for creating stunning animated gradient effects.

Key Features

🎨

Highly Customizable - Control colors, animation speed, frequency, and appearance with extensive configuration options.

🔄

Smooth Transitions - Built-in fade transitions between gradient configurations with customizable duration.

🚀

High Performance - Hardware-accelerated WebGL rendering with optimized frame skipping and auto-pause when out of viewport.

Zero Dependencies - Lightweight core library (~8kb gzipped) with no external dependencies.

Motivation

In 2021 @jordienr  and @ndom91  have uploaded to GitHub gist a Stripe landing page gradient effect . They have also created a Whatamesh  website to showcase this beautiful package.

However, the tool was one large file written in JavaScript, had unreadable code and structure, unused event listeners and pretty weird type definitions.

I decided to make it more readable and maintainable.

Key changes

  • ✅ Rewritten the tool from scratch in TypeScript
  • ✅ Integration with React and SSR
  • New Documentation website with Playground
  • ✅ Simplified API with full type definitions
  • Performance optimizations in core library (resize debounce, pause on out of viewport, removed unused event listeners, size for rendering context kept in sync with canvas size instead of window size, etc.)
  • ✅ A lot of new features and improvements in core library (animation speed, randomly generated colors and seeds, smooth appearance, fade transition between 2 gradients out of the box, etc.)
  • Extended configuration for the tool

How to use it?

You can start using Mesh Gradient in your project in 2 ways: