🥳 New: 100+ Ready to use Shadcn Pages & Builder Pages Presets, Admin Dashboards & Application Templates.

Visit changelog

Shadcn Studio Bento Builder Documentation

Learn how to design bento grid layouts visually - place cards, resize them, pin the ones that matter, and export the code.

Overview

The Bento Builder lets you compose a bento grid from ready-made bento cards. Cards sit on a free-placement grid, so you decide exactly where each one goes and how many columns and rows it covers. Everything is visual. When you're happy with the result, you can preview it at desktop, tablet and mobile sizes, then export the shadcn CLI install command and the page code for your project.

Head to Shadcn Studio Bento Builder to get started.

Adding Bento Cards to the Grid

The left panel has three tabs - Bento, Layout and Layers. The Bento tab lists every available bento card. Hover over a card in the list to see a live preview of it next to the panel.

To add a card to your grid, you can either:

  • Click a card in the list - it is placed in the first free spot on the grid
  • Drag a card from the list and drop it onto the canvas. A ghost placeholder shows where it will land, and cards in the way move aside while you drag
  • Drop it on an existing card to replace that card with the one you dragged

Cards already on the grid are dimmed in the list and show a check mark. The grid starts empty, so your first card can also be a preset layout (see below).

Adding bento cards to the grid light

Starting from a Preset Layout

At the top of the Bento tab, use the toggle next to the search bar to switch between Bento Cards and Presets. Hover over either icon to see its name.

The Presets view shows ten ready-made layouts, each with a thumbnail of its card sizes - Classic six, Hero focus, Two up, Product tour, Spotlight, Mosaic, Side feature, Banner pair, Split focus and Triptych. Click a preset to fill the grid with it. The preset currently in use is highlighted.

Applying a preset arranges your grid into that layout. You can then swap any card, resize it or move it like any other.

Bento presets view light

Filtering & Searching

Search: Type in the search bar at the top of the left panel to find bento cards by name or description - or, in the Presets view, presets by name. Press ⌘K (Mac) or Ctrl+K (Windows) to jump to the search bar from anywhere. Press Escape to clear the search.

Filter by plan: In the Bento Cards view, click the sliders icon next to the search bar and use the Filter by Price dropdown to show only Free, Basic or Pro cards, or show All. Every card carries a badge showing which plan it belongs to.

Bento card filter light

Moving and Resizing Cards

Click a card on the canvas to select it. A toolbar appears at the bottom of the canvas with the actions for that card. Click an empty area of the canvas to deselect it.

Move a card: Drag it to any spot on the grid. Drop it on another card to swap the two, or on an empty cell to move it there. A live preview shows the result before you let go.

Resize with the handles: A selected card shows handles on all four sides and all four corners. Drag any of them to change how many columns and rows the card covers. Cards in the way are moved aside automatically, and a card can be up to two rows tall.

Resize with preset sizes: Use the Card size buttons in the toolbar (for example 1×1, 2×1, 1×2 or 2×2) to jump straight to a size. On a four-column grid, 4×1 and 4×2 are available too.

Pinning a Card

Pin a card to lock its position and size. This is useful when you have set a card to exactly the size you want and don't want Tidy up or another card's resize to change it.

You can pin or unpin a card from three places:

  • The pin icon that appears in the top-right corner when you hover over a card
  • The Pin button in the toolbar of a selected card
  • The pin button on the card's row in the Layers tab

A pinned card:

  • Shows a filled pin badge, and has no resize handles - the size buttons are disabled until you unpin it
  • Can't be dragged, and other cards can't be dropped onto it or resized over it
  • Keeps its place when you use Tidy up. While any card is pinned, Tidy up won't close empty rows, so a pinned card stays in its row
  • Can still be shuffled - it keeps its slot and stays pinned
Pin Bento card light

Tidying Up the Grid

When you leave gaps in the grid, Tidy up fills them. With nothing selected, the toolbar at the bottom of the canvas shows a Tidy up button with the number of gaps (for example Tidy up · 2 gaps). Click it to close empty rows and let cards grow into the free space. The button reads No gaps to fill when there is nothing to fix, and disables itself when the remaining gaps can't be closed. The same button is also in the Layout tab.

Tidy up can change the size of cards that border a gap. If you want a card to stay exactly as it is, pin it first.

Before Tidy up light
After Tidy up light

Customizing the Layout

Open the Layout tab in the left panel to adjust the grid itself:

  • Columns: 2, 3 or 4 columns on desktop. The Columns control is also in the bottom toolbar
  • Row height: a slider from 240px to 480px that sets the height of one grid row
  • Gap: 8, 12, 16 or 24px between cards
  • Corners: XS, SM, LG or XL corner radius for every card
  • Column guides: show the grid lines behind your cards while you work

The Responsive summary at the bottom of the tab lists how the grid behaves on each device: your chosen column count on desktop, two columns on tablet, and a single stacked column on mobile.

layout light

Reordering Cards in Layers

The Layers tab shows a compact list of every card on the grid, in order. To change the order, drag a card up or down in the list. The canvas updates in real time. The order matters most on mobile, where cards stack in this order.

Click a row to select that card on the canvas. Each row also has a pin button and a delete button.

Reordering cards in the Layers tab light

Shuffling a Card

Select a card and click the shuffle icon (two crossing arrows) in the toolbar. It replaces that card with a random bento card that isn't already on your grid, keeping the same position and size. It is a quick way to explore alternatives without going back to the list.

Shuffling a bento card light

Deleting a Card

Select a card and click the red trash icon in the toolbar, or press Delete / Backspace. You can also use the trash button on a card's row in the Layers tab. If you delete a card by mistake, undo it with ⌘Z.

Deleting a bento card light

Undo and Redo

Every change - adding, moving, resizing, pinning, deleting, applying a preset or changing a layout setting - can be undone. Use the Undo and Redo buttons in the top header, or the shortcuts ⌘Z to undo and ⇧⌘Z (or ⌘Y) to redo. On Windows, use Ctrl instead of ⌘. The builder remembers your last 50 steps.

Designing for Desktop, Tablet and Mobile

Use the device toggle in the top header to switch the canvas between Desktop (fluid, up to 1232px), Tablet (820px) and Mobile (390px).

  • Tablet uses a two-column grid. It starts as a repacked copy of your desktop layout, and from then on you can move, resize and pin cards there independently - the desktop layout is not affected. The column count is fixed in this view
  • Mobile is a single column. Cards stack in the order shown in the Layers tab

The exported code includes both the tablet and the desktop placement of every card.

undo-redo-responsive light

Resetting the Builder

Click Reset in the top header to clear the whole grid and return the layout settings to their defaults. A confirmation popover appears before anything is removed. Your layout is kept in your browser's local storage, so it is still there when you refresh the page - Reset is how you start over.

Reset confirmation light

Previewing Your Grid

Click Preview in the top header to hide the panels, handles and toolbar and see your grid as a visitor would, with all the cards fully interactive. The device size you were working in is kept, so you can check each breakpoint. Click Collapse to return to the editor.

Use the light/dark mode button in the header to check how the cards look in both themes.

Previewing the bento grid light

CLI & Export

Click Export in the top header to open the export dialog. It summarizes your grid (number of cards, columns and Base UI) and gives you everything you need to bring it into your project: a single shadcn CLI command and the page code.

Install via CLI

On the Code tab, step 1 is one command that installs every card on your grid. Each card is added once, even if you have used it more than once:

npx shadcn@latest add @ss-blocks/bento-cards-01 @ss-blocks/bento-cards-02 @ss-blocks/bento-cards-03

Open your terminal in your Next.js + shadcn/ui project and paste the command. The shadcn CLI installs the card files and their dependencies directly into your project. The bento cards are built for a Base UI style, so your components.json needs a Base UI style and the Shadcn Studio registry. Refer to the How to use Shadcn CLI guide for full setup instructions.

Click the copy button on the code block to copy the command.

Get the Page Code

Step 2 on the same tab is a ready-to-paste app/page.tsx. It imports each card and lays them out in a Tailwind grid that matches your builder:

  • The order, column and row spans, and start positions of every card
  • The gap, row height and corner radius you chose in the Layout tab, as Tailwind classes - for example gap-4 and auto-rows-[380px]
  • Responsive columns: one column on mobile, two on tablet (sm:) and your chosen count on desktop (lg:)
  • The props each card needs, so the cards render the same as they do in the builder

What to Do Next

  1. Run the install command in your project to add all the cards.
  2. Paste the page code into the route where you want the grid, for example app/page.tsx.
  3. Run npm run dev and compare the result with the builder's Preview.
  4. Adjust spans, spacing or card content in your code as needed, then deploy.
Bento Builder export via code dialog light

Copy a Prompt for Your AI Agent

Switch to the Prompt tab and click Copy prompt to copy a prompt that contains the install command and the page code. Paste it into Claude Code, Cursor or any coding agent and it will set up the grid for you. Make sure you have Shadcn Studio registry. Refer to the How to use Shadcn CLI guide for full setup instructions.

Bento Builder export via AI prompt dialog light