Component guideEditable source

Marquee

A repeating horizontal text strip with a pause control.

On this page4 sectionsBack to top

Use Marquee for non-essential decorative text. It is a default export accepting short strings, not a general-purpose carousel. Keep important information available without movement.

Live preview
Loading preview...

#Installation

Complete the base setup. The CLI includes this item's animation styles. For manual installation:

npx shadcn@latest add https://neobrutal-ui.andongmin.com/r/marquee.json

#Usage

import Marquee from "@/components/ui/marquee";

export default function FeatureStrip() {
  return (
    <Marquee
      items={[
        "Source you own",
        "Hard shadows",
        "Clear interactions",
        "Light and dark",
        "Build your way",
        "React components",
      ]}
    />
  );
}

#API reference

Prop / behaviorPurposeDefault
itemsShort unique text stringsRequired
Pause / ResumeStops or resumes both animation stripsRunning
Reduced motionDisables decorative movementUser preference respected
Duplicate stripRepeated visual contentHidden from assistive technology

#Accessibility

Keep strings unique because they are used as React keys. The native Pause/Resume button is keyboard accessible and stops both strips together. Reduced-motion preferences disable animation and hide the redundant second strip. Do not put essential instructions or controls inside moving content. Supply enough items to cover the available width without gaps.