CrazyGLCrazyGLHomeExploreGitHubBrowse heroesLoading hero…← Back to gallery@crazygl/logo-sand-formation

Logo Sand Formation

Thousands of glowing sand grains drift on a warm desert current and re-form the supplied logo. Pointer movement scatters them in a Gaussian shockwave; springs and damping pull each grain back into the silhouette.

ReactCanvasImageInteractiveFont#particles#logo#sand#input-driven#interactive#canvas#premium

Usage

import LogoSandFormation from '@crazygl/hero-logo-sand-formation';

export default function Hero() {
	return (
		<LogoSandFormation
			heading="Built from a million grains."
			logo="/my-logo.png"
			sampleMode="alpha"
			grainCount={2200}
		/>
	);
}

Customise

  • Logologo image, sampleMode (alpha / luminosity / inverseLuma), sampleThreshold, sampleDensity, logoScale, logoOffsetX/Y.
  • SandbackgroundColor, transparent, sandColor, accentColor (sparkle), grainCount, grainSize, glowAmount, trailFade.
  • MotionwindStrength, springStrength, damping, pulseRadius, pulseForce.
  • Content & typography — heading / subheading / two-column / custom content, plus heading font.

Best for

  • Premium brand and agency landing pages
  • Product launches with a tactile, interactive logo reveal
  • Luxury, fragrance, or lifestyle sites with warm, earthy palettes
  • AI and creative-tool homepages wanting a signature hero moment
01 · Install the package

One command, zero config.

npm install @crazygl/hero-logo-sand-formation
02 · Render the component

Import once, drop it in.

The component takes the same props you see in the live customizer on the right — every default ships poster-quality.

hero.tsx
import LogoSandFormation from '@crazygl/hero-logo-sand-formation';

export default function Landing() {
  return (
    <LogoSandFormation />
  );
}
03 · Use it in a page

SSR-safe by default.

The wrapper renders static HTML on the server and only initialises the canvas after hydration, so search engines see your copy.

page.tsx
// app/page.tsx — works in SSR-first frameworks (Next, Remix, Astro, etc.)
'use client';

import LogoSandFormation from '@crazygl/hero-logo-sand-formation';

export default function Page() {
  return (
    <section>
      <LogoSandFormation
        heading="Say hi."
        subheading="Your new hero."
      />
      <article>
        <h2>Welcome</h2>
        <p>Your content keeps its own voice below the hero.</p>
      </article>
    </section>
  );
}
You might also like

Similar heroes

Magnetic Logo Field

An image-driven particle field. Drop in a logo and the particles drift around then snap into its silhouette in waves. Cursor magnetically pulls or repels the swarm. Sample by alpha, luminosity, or transparency.

Floating Neon Logo Sign

The logo becomes a 3D neon tube sign floating in a dark cinematic scene. Segments flicker on during boot, then settle into a gentle pulse. Smoke drifts behind; hovering brightens the tubes.

Thermal Logo

Your logo rendered as a live thermal-camera image — a flowing heat field clipped to the silhouette and mapped through a cold-to-white-hot gradient, with the cursor leaving a glowing heat trail that slowly cools.

Sand Typography

Your headline is built from thousands of grains of sand. The grains drift on the breeze, erode where the cursor sweeps through them, and spring back to spell the word again.

Volumetric Beam Logo

Your logo floats inside a vertical museum-grade beam of light. Ray-marched volumetric cone reveals drifting dust around the brand, an emissive ring lights the logo, and a soft floor shadow grounds the scene. Premium SaaS / personal-branding / product-launch aesthetic.

Logo Edge Glow

Upload an SVG or transparent PNG logo and light it with a neon inner glow — a bright, radial-gradient rim clipped to the silhouette that fades to a dark core, and intensifies toward your cursor as it approaches.
Live customizer

Logo Sand Formation

Logo ImagePNG with transparency works best. Larger images are auto-downsampled.Sample byHow the logo image is converted to particle target positions.Threshold0.5Pixels above this value count as part of the shape.Density1.65How densely the logo is sampled — higher = sharper silhouette.Logo Size0.57Horizontal Offset0Shifts the sand silhouette left or right so heading text can sit on the opposite side. 0 = centred.Vertical Offset-0.17BackgroundTransparent backgroundDrop the backdrop so the sand sits on top of whatever is behind the hero.SandWarm sand tone. Default is a deep desert orange.SparkleBone-white sparkle on hot grains.Grains2200Grain Size0.85Below 0.6 reads as dust; 0.8–1.0 is photogenic; above 1.8 looks like pebbles.Glow0.6Halo size around each grain. 0.5–0.8 is the sweet spot.Trail Persistence0.22How long the motion trail lingers. Higher = more smear.Wind Strength0.18Continuous desert current. 0 = perfectly still; 0.2–0.3 = breathing; >0.5 = stormy.Snap Strength1.2How firmly grains spring back to their target.Damping0.86Velocity decay per frame. Higher = stiffer sand; lower = wobblier.Pointer Radius220pxPointer Force2.4Strength of the outward shockwave when the cursor moves through grains.Heading FontInteractivityWhich input drives the hero — try Scroll if you want the page to drive motion.
CrazyGL · crazygl.comProgrammable hero sections for real websites.