Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Dual Row Marquee Logos Block for React

Two rows of customer wordmarks for a camera-security service, scrolling in opposite directions at one calm speed under a centred header, with a button that pauses both.

Framework
UI library

Preview

Preview width

Installation

Part of Pro
Pro unlocks the code and one-line install of every Pro button and text effect, plus the MCP for your AI editor.
Have Pro already? Sign in to open it.Opens here as soon as you're Pro.

Overview

A two-row logo marquee for React with Base UI. Under a centred header, sixteen customer wordmarks scroll in two rows, the first one way and the second the other, at the same calm speed and fading out at both ends. A small button at the end of the header pauses both rows. The rows share one band: its top rule and a hairline between the rows meet the page rails at + marks, and the second row ends the block so the next block's top rule closes it. Each wordmark is an icon and a name in its own lettering, muted until hovered. It's built from Marquee, Button and Guides, with CSS for the entrance and your theme's tokens for every colour. For a landing page that wants to look busy with customers without a wall of logos.

FAQ

How do I change the customers?

Edit FIRST_ROW and SECOND_ROW at the top of the file: each entry is a Lucide icon, a name, a lettering (the name's type classes) and a mark (inline, badge, ring or trailing, where the icon sits). Keep eight or more per row: the rows fill the width on their own, but a shorter row would show the same logo twice at once. Neighbours should differ in lettering and mark.

How do I change the speed?

Change SPEED (pixels a second, 28 by default); both rows read it. Give a row its own number if you want them to drift apart, and flip a row's direction with its reverse prop.

How does it stop?

Four ways: the pause button in the header (a toggle with aria-pressed that stops both rows), hovering a row, moving keyboard focus into a row, and the visitor's reduced-motion setting. With reduced motion both rows stop and become rows you can scroll by hand, the looping copies are removed, and the pause button is hidden because there is nothing left to pause.

How is it marked up for screen readers?

Each row is a region named "Customer logos, first row" or "second row". The first copy is the real content: each wordmark has the customer's name as text and a decorative icon. The repeated copies that make the loop are hidden from assistive technology and can't be focused. The header's h2 is the block's only heading.

Does it follow my theme?

Yes. Wordmarks are the muted foreground colour and turn to the foreground on hover; the edges fade by a mask into whatever is behind the band, so nothing is a fixed colour and primary isn't used.

How does it fit on a phone?

The marquee stays a marquee at every width. The header's padding makes room for the pause button at its end, the heading wraps onto three lines at 320 pixels, and nothing scrolls sideways.

  • Pro

    Two rows of customers of a factory-scheduling service, each a band with an Aerospace or Automotive label cell at the start, divided from the moving logos by a hairline.

  • Pro

    Two depths of customer wordmarks for a barrel-tracking service: large names drifting slowly in front, small ones three times as fast behind, in opposite directions.

  • Pro

    Two rows of customers of a returns-management service in two kinds of logo: wordmarks on top and icon-only tiles on a tinted band below, moving in opposite directions.

  • Pro

    Triple Row Marquee Logos

    Multi-row marquees

    Three rows of customer wordmarks for a carbon-credit registry, alternating direction, with a larger, darker, quicker middle row between two smaller, quieter, slower ones.

  • Pro

    A centred heading for a secure-messaging tool over one row of large customer wordmarks in a ruled band, with a pause button in a cell of its own at the end.

  • Pro

    Logo Marquee Hero

    Logos and social proof

    A compact hero for a support platform: copy and two calls to action, then two bands across the column: a strip of customer logos that scrolls on its own with a pause button, and a row of three stats.