Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Bento Grid Pricing Block for React

Edge hosting in a bento grid on shared hairlines: a tall Pro tile down the middle with its price and call to action up top, among four compact tiles for Hobby, Scale, a bandwidth add-on and Enterprise.

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

Anchor your pricing page with an asymmetric bento grid, shown here for Cinder Edge, an edge hosting network. Five tiles share three columns on wide screens: Hobby, Scale, a Bandwidth add-on and Enterprise sit in the corners as compact tiles, and the Pro tile runs down the middle across both rows. The tiles are cells of one grid divided by single shared hairlines instead of separate bordered cards, and Pro stands out by structure: a raised Frame panel, a card in a card, with a Best value Badge, its price at display size and the section's only primary Shine Button in its top half, above the long feature list. A compact header row says what every plan includes, so the first screen is the bento. The section sits on the page's drafting lines, drawn by Guides: rails at the edges of the page column, a rule along its top edge with a plus on each crossing, and a plus where the grid's rules meet the rails. Built with Frame, Guides, Badge, Shine Button and Lucide icons, with a CSS entrance only. For hosting and infrastructure pricing, developer tools and any lineup of four or five plans where one deserves the spotlight.

FAQ

How do I change the plans, prices and highlights?

Edit the PLANS array at the top of the file. Each plan has its name, tagline, icon (any Lucide icon), price and per (the text after the amount: /mo or /TB), the highlights checklist, the call to action's cta and href, featured and place. A price of 0 shows Free and null shows Custom, for a quote-only plan. EVERYTHING is the list of what every plan includes, in the header row.

How is the bento layout built, and how do I feature another plan?

The grid has three columns from the lg breakpoint. The featured tile's place classes (lg:col-start-2 lg:row-span-2 lg:row-start-1) pin it to the middle column across both rows, and the other four tiles fill the corners in order. To feature another plan, set featured: true on it and false on Pro, move the place classes to it, and put it first in PLANS. A featured tile shows its price at display size with the call to action under it; the others show the price beside the name and keep their button at the bottom.

How does the grid adapt to phones and tablets?

Below lg the tiles stack in one column as full-width rows divided by the same hairlines. The featured plan comes first in the markup, so it is also first on a phone, with its button within the first screen and a half. Nothing scrolls sideways at 320px.

Is the bento grid accessible?

Plans are h3 headings under the section's h2, highlights are lists with decorative check icons, and prices are read as "per month" or "per terabyte" instead of /mo and /TB. Each call to action is a link whose name includes its plan, as in Start a trial, Scale. The featured tile doesn't rely on colour: its panel is raised and carries a Best value badge. Because Pro is first in the markup, keyboard focus reaches its button before the corner tiles', although it sits in the middle on a wide screen.

How do I connect the tiles to checkout or a sales form?

Each call to action is a real link to its plan's href. It is a ShineButton with render set to an a element and nativeButton={false}. Point the paid plans at your checkout route with the plan in the query, the Hobby plan at sign-up, the bandwidth add-on at your billing settings and the Enterprise plan at your contact-sales form.

When should I use a bento grid instead of three equal columns?

Use a bento grid when you sell four or five things and want one of them to lead without hiding the rest: the tall middle tile draws the eye while the corners stay a glance away. It also fits an add-on that isn't a plan, like bandwidth here. Three equal columns read better when the plans matter about equally, or when each one needs a long feature list that a small corner tile can't hold.

  • Pro

    One plan in the spotlight: an oversized card under a monochrome cone of light with the price as the largest type on the page, a monthly and yearly switch, and a short pitch beside it.

  • Pro

    Three plans for a cloud IDE in one hairline band, with a contrast highlight that follows the theme: the recommended plan is one raised card among flat cells, with a free tier, prices that roll under a monthly and yearly switch, and a plan switch on phones.

  • Pro

    The canonical three-column pricing section for a team knowledge base: Personal, Team and Company cells under a monthly and yearly switch, each outlined by hairlines that overshoot its corners, the recommended plan raised, one plan at a time on phones.

  • Pro

    A fanned deck of plan cards for a flashcard app: the chosen plan's card in front with its price, button and features, the other two peeking out behind, brought forward by a tab list.

  • Pro

    Billing Toggle Pricing

    Billing switches

    Three plan cards under a monthly and yearly switch that wears its saving in the header row, with prices that roll to their new amount and each plan a card in a card.

  • Pro

    Comparison Table Pricing

    Comparison tables

    Four plans compared feature by feature in one table whose hairlines meet the page rails, with a billing switch, a tinted popular column and, on a phone, a plan switch that keeps the feature column beside one plan.