Kinetic UI
Back to Introduction
Navigation

Infinite Marquee

A buttery-smooth, infinitely scrolling ticker for logos, text, or cards.

Quick Actions
CLI Installation
npx kinetic-ui-cli@latest add infinite-marquee
Infinite Marquee
Acme Corp
Globex
Soylent Corp
Initech
Umbrella Corp
Stark Industries
Wayne Enterprises
Cyberdyne Systems
Massive Dynamic
ACME CORP
GLOBEX
SOYLENT CORP
INITECH
UMBRELLA CORP
STARK INDUSTRIES
WAYNE ENTERPRISES
CYBERDYNE SYSTEMS
MASSIVE DYNAMIC

Installation

npx kinetic-ui-cli@latest add infinite-marquee

How It Works

The InfiniteMarquee uses pure CSS keyframe animations instead of JavaScript intervals for maximum performance and buttery-smooth scrolling (no jitter). It duplicates your children internally so the loop appears completely seamless. You can pause the animation on hover, change the speed, and reverse the direction.

Usage Guide

1. Import the Component

Import the component into your React or Next.js page:

import { InfiniteMarquee } from "@/components/creative/infinite-marquee";

2. Implementation Example

Render the component and customize its behavior by passing props:

import { InfiniteMarquee } from "@/components/creative/infinite-marquee";

export default function Example() {
  return (
    <div className="w-full flex items-center justify-center p-8">
      <InfiniteMarquee
        direction{/* value */}
        speed{/* value */}
        pauseOnHover{true}
      >
        <div>Content goes here</div>
      </InfiniteMarquee>
    </div>
  );
}
Performance Notes
  • Uses CSS hardware acceleration via GPU transform-binds.
  • Damped interpolation minimizes paint-redraw flashes.
  • Tree-shakable import: only compiles elements requested.
Accessibility Notes
  • Full keyboard focus-ring navigation support (`Tab`/`Shift+Tab`).
  • ARIA roles mapped correctly for assistive screen readers.
  • Respects `prefers-reduced-motion` system toggles.