GodUI

Liquid Metaballs

Gooey blobs that drift, collide, and merge under an SVG goo filter — with a cursor blob.

Soft blobs of color drift across the surface and fuse into one gooey mass wherever they meet, courtesy of an SVG goo filter. An extra blob follows the cursor and merges with the rest. Playful and organic. Drop it as the first child of a relative container.

Fluid by nature

Move your cursor to stir the goo.

Installation

pnpm dlx shadcn@latest add "https://godui.design/r/liquid-metaballs.json"

Usage

tsx
 
import { LiquidMetaballs } from "@/components/godui/liquid-metaballs";

<div className="relative overflow-hidden">
  <LiquidMetaballs />
  <YourContent />
</div>

The layer is absolute inset-0 z-base; parent must be relative, content at z-raised+. The goo filter id is per-instance, so multiple metaball backgrounds coexist safely. Pauses off-screen and on hidden tabs; freezes under prefers-reduced-motion.

Examples

Extra gooey

Raise gooeyness and blobCount.

Props

PropTypeDefaultDescription
blobCountnumber7Number of floating blobs.
colorsstring[]indigo/violet/pink/cyanBlob colors (cycled).
speednumber1Drift speed multiplier.
gooeynessnumber16Goo strength (blur stdDeviation).
interactivebooleantrueA blob follows the cursor (adds a pointer listener).

Also accepts standard div attributes (e.g. className, style).

On this page

Built with GodUI

Beautifully crafted motion components for modern interfaces.

Star on GitHub