Logo Cycle

A grid of logo cells where two pill-mounted logos counter-rotate past each other, swapping top and bottom.

Logo Cycle arranges brand logos in a grid of cells where each cell holds two logos mounted on counter-rotating pills. As the pills turn, the logos swap top and bottom positions in a loop that never repeats a frame awkwardly. Cell count, speed, and logos are props. Built with React and Tailwind CSS. A fresh alternative to a static logo wall for social proof sections and "trusted by" strips.

Installation

Usage

import { LogoCycle } from "@/components/ui/logo-cycle";
<LogoCycle
  pairs={[
    {
      top: <SiTailwindcss className="text-[#0DA5E9]" />,
      bottom: <SiHtml5 className="text-[#DD4A25]" />,
    },
  ]}
/>

Props

PropTypeDefaultDescription
pairsLogoCyclePair[]—The logo pairs to swap in each cell. top shows first, bottom swaps in.
columnsnumber3Number of columns in the grid.
durationnumber10Full swap cycle length, in seconds.
iconSizenumber24Icon size in px.
classNamestring—Classes for the outer section.