CrazyGLCrazyGLHomeExploreGitHubBrowse heroesLoading hero…← Back to gallery@crazygl/product-carousel

Product Carousel

A centred showcase carousel for transparent product PNGs — the active product sits front and large while the previous and next peek in from the sides, dimmed and scaled. Swipe, drag, arrows or dots; products swing into frame with captions that animate in.

ReactImageInteractiveFont#carousel#product#slider#png#transparent#coverflow#swipe#showcase

Usage

import ProductCarousel from '@crazygl/hero-product-carousel';

export default function Page() {
  return (
    <ProductCarousel
      slideCount={4}
      slide1Image="https://crazygl.com/samples/product-vase.png"
      slide1Heading="Helix Vase"
      autoplay
    />
  );
}

Customise

  • SlidesslideCount (1–6) plus per-slide slideNImage / slideNEyebrow / slideNHeading / slideNSubtext.
  • Layoutspacing (side spread), sideScale, sideOpacity, sideBlur, pointerParallax, tiltSides, floor shadow.
  • Motionduration, easing (expo / smooth / back / ease), textTransition (fade / rise / clip / blur), autoplay, interval.
  • StylebgTop / bgBottom backdrop, textColor, accentColor, showArrows / showDots / showCounter, headingFont / bodyFont.

Best for

  • E-commerce product launches and DTC landing pages.
  • Furniture, gadget, and lifestyle catalogues with clean PNG cut-outs.
  • Portfolio or collection showcases that need swipe/drag navigation.
01 · Install the package

One command, zero config.

npm install @crazygl/hero-product-carousel
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 ProductCarousel from '@crazygl/hero-product-carousel';

export default function Landing() {
  return (
    <ProductCarousel />
  );
}
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 ProductCarousel from '@crazygl/hero-product-carousel';

export default function Page() {
  return (
    <section>
      <ProductCarousel
        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

Masked Text Carousel

A big heading sits behind a product image; where the image overlaps the words the text shows only its outline (or inverts, or ghosts) while the rest stays solid — the product literally masks the type. Swipeable, with a floating, pointer-reactive product and smooth slide transitions.

Collection Carousel

Product cards float in a curved 3D carousel. The center card is large and sharp; cards rotating toward the sides shrink, dim and blur into depth. Auto-rotates slowly, drag to spin with momentum, click a side card to bring it to center.

Product Pedestal

A 3D product model rests on a minimal floating pedestal under studio HDRI lighting. Slow turntable rotation, soft contact shadow, drifting dust, subtle mouse parallax, and press-and-drag to free-spin the product.

Floating Product

A 3D product model drifts and slowly turns in a quiet studio atmosphere. The model wears its own PBR textures; soft dust particles drift through the air around it.

Product in Liquid

A product floats suspended inside a thick, slowly churning liquid blob that genuinely refracts it. Tinted glass, chromatic dispersion, drifting bubbles and crawling caustics give a sensual, premium feel.

Multi-Screen Orbital Carousel

A ring of product screenshots orbits slowly around the hero in 3D space. The front card faces the camera and pops larger; the others recede into a depth-fogged background. Drag to spin, then let the ring glide back to its idle rotation.
Live customizer

Product Carousel

Slides4Slide 1 PNGSlide 1 eyebrowSlide 1 headingSlide 1 subtextSlide 2 PNGSlide 2 eyebrowSlide 2 headingSlide 2 subtextSlide 3 PNGSlide 3 eyebrowSlide 3 headingSlide 3 subtextSlide 4 PNGSlide 4 eyebrowSlide 4 headingSlide 4 subtextDuration0.8sEasingText transitionAutoplayInterval4.5sBackdrop topBackdrop bottomText colourAccentArrowsDotsCounterHeading fontBody fontInteractivityWhich input drives the hero — try Scroll if you want the page to drive motion.
CrazyGL · crazygl.comProgrammable hero sections for real websites.