Why Bento Layouts Work
A bento grid arranges content cards of different sizes into one balanced, asymmetric composition, named after the compartments of a bento box. Instead of a uniform row of feature cards, some tiles stretch wide, some stand tall, and the variation itself directs the eye. This block implements the pattern as a marketing section: an animated bar chart card, an email mock with content lines that draw in and pulse, and badge-labeled feature tiles, all arranged in a responsive Tailwind grid.
What separates this bento block from a static screenshot grid is motion. Each card animates into place as it scrolls into view, and the in-card details, like the highlighted bar with its value tag, land with their own staggered timing, which makes the section feel alive without being noisy.
Placing the Grid on a Page
Bento grids shine in the middle of a marketing page, right after the hero has made its promise. They condense product features, stats, and highlights into one glanceable section, which is why they have become a staple of SaaS landing pages and product sites. Feature overviews, release announcements, and portfolio highlights all map naturally onto tiles of mixed sizes.
The block pairs cleanly with the other marketing sections in the library. Lead into it with a block from the hero sections collection, and let the bento grid carry the depth of the story that a single headline cannot.
Motion, Tailwind, and the Animation Layer
The animations run on Motion, the successor to Framer Motion. A useInView hook watches each card, and once a card enters the viewport its bars grow, its lines fade in, and its badges settle into place, each with individual delays and spring-like easing. The animations fire once, so the section does not restart as users scroll back and forth.
The rest is deliberately light: React components, Tailwind grid and spacing utilities, one Shadcn UI Badge component, and a Lucide icon. There is no chart library behind the bar chart; it is built from animated divs, which keeps the block small and lets you reshape the visual freely.
Tokens Keep It On-Brand
Every card surface, border, and text color references Shadcn UI theme tokens like muted, foreground, and background, so the grid respects your globals.css palette in dark and light mode alike. The single accent color used for the highlighted bar and pulse effects is one class swap away from your brand color.
Content changes are just as contained. Each card is its own small component with a heading and description at the bottom, so replacing the sample copy, resizing a tile with Tailwind column and row span classes, or adding a new card follows an obvious pattern already present in the file.
From the Registry to Your Landing Page
Bento Grid is a pro block: the preview is open, and the code plus CLI install unlock with an All Access plan. The shadcn CLI command at the top of the example page installs it via npm, pnpm, yarn, or bun, or you can copy the single page file from the code tab, since the whole section lives in one file.
The block ships in React, Vuejs, and Svelte versions of the same design. The Vuejs and Svelte editions build on the shadcn-vue and shadcn-svelte ports, so teams outside the React ecosystem get the same grid, tokens, and animation behavior. After install, swap the sample features for your product story and the section is ready to publish.

