Marquee

An infinite scrolling track for logos, testimonials or anything else.

L
Lina

@lina

Dropped it into our landing page in two minutes.
M
Marc

@marc

Finally a component library that stays out of the way.
S
Sofia

@sofia

The details are what sell it. Clean and quiet.
N
Noah

@noah

Works with my existing shadcn setup, no friction.
Y
Yara

@yara

Motion that feels intentional, not decorative.
T
Tom

@tom

The CLI install is the killer feature for me.

Installation#

pnpm dlx shadcn@latest add https://ui.balick.me/r/marquee.json

Or, with the namespace configured: @balick/marquee

Usage#

import { Marquee } from "@/components/ui/marquee"

export function Logos() {
  return (
    <Marquee pauseOnHover fade>
      <span>Acme</span>
      <span>Globex</span>
      <span>Initech</span>
    </Marquee>
  )
}

Props#

PropTypeDefault
reverse

Reverse the scroll direction.

booleanfalse
pauseOnHover

Pause the animation while the pointer is over the marquee.

booleanfalse
vertical

Scroll vertically instead of horizontally.

booleanfalse
fade

Fade the edges into the background.

booleanfalse
repeat

How many times the content is repeated to fill the track.

number4
duration

Duration of one full loop, as a CSS time.

string"40s"
gap

Space between items, as a CSS length.

string"1rem"