Logo marquee preview

Logo marquee

The endless “Trusted by” strip – a seamless loop that eases to a stop on hover, scrubs with inertia and lifts the hovered logo to colour

  • Group
    Social proof
  • Origin
    Copied · affectUI · source
  • License
    MIT
  • Added
    Oct 18
npx shadcn@latest add @deank/logo-marquee

The registry stays private. Install from the repo with a GitHub token — see the README.

Usage

import { LogoMarquee } from "@/registry/blocks/logo-marquee/logo-marquee";

<LogoMarquee logos={[/* … */]} />

Props

NameTypeDefaultDescription
logos{ name, svg?, src?, color?, scale?, href? }[]The logos. svg is a ReactNode – use fill="currentColor" so it follows the muted colour; src takes an image instead. color is the brand colour it lifts to on hover, scale corrects optical size, href makes it a link
speednumber40Pixels per second – the same pace on any width
direction"left" | "right""left"Which way the first row runs
rows1 | 21Two rows split the logos alternately and run in opposite directions
gapnumber56Space between logos in px; about 60 % of it on narrow containers
pauseOnHoverbooleantrueEase to a stop while hovered or focused with the keyboard, and speed back up on leave
grayscalebooleantrueMuted, colourless logos; the hovered one lifts to its brand colour. Off shows full colour and dims the others on hover
labels"none" | "below" | "beside""none"Show the brand name as a small caption under the mark, or beside it like a wordmark
labelstring"Logos of companies using the product"Accessible name of the strip
classNamestringExtra class on the wrapper

When to use

- A “Trusted by” or “Used by teams at” strip under a hero or above pricing - Showing more customer, partner or integration logos than fit in one static row

When not to use

Text tickers (marquee) or logos users need to click.

Related

Marquee · Logo cluster · Testimonial wall