React pricing section components

Six pricing layouts covering a minimal three-tier table, a four-tier grid with an animated billing toggle, add-on rows, and a separate enterprise card.

Trusted by Founders and Entrepreneurs from all over the world

John Shahawy
Henrik Söderlund
John Ferry
Meru Gokhale
Georg Weingartner
Jonathan Barshop
Ray Thai
Tony Pujals
Next.js
React
Tailwind CSS
Framer Motion

Every pricing section in the library

Plans are defined as typed arrays, so you change prices and feature lists in one object rather than editing repeated card markup.

See all 7 pricing sections

Designing a pricing section that converts

Three tiers is the convention because it gives buyers a reference point. Shown a single price, people have no idea whether it is reasonable. Shown a cheap tier, a middle tier, and an expensive one, they judge the middle against its neighbours and usually pick it. That is anchoring, and it is why the highlighted plan in almost every pricing block sits in the centre column. If you only have two real plans, adding a fake third one is worse than shipping two, because inventing a tier nobody wants creates support questions you then have to answer.

Order the columns cheapest to most expensive left to right and let the highlighted card break the grid slightly, either taller or with a border and a badge. Feature lists should be cumulative, so each tier reads as "everything above, plus". Comparison becomes a scan down one column instead of a diff across three. Never hide the number that matters. "Contact sales" belongs on the enterprise card only, and the pricing page with a separate enterprise card exists precisely so that self-serve tiers keep their prices visible.

Monthly to yearly toggles are where layout breaks. When the price switches from 29 to 290 the string gets a character longer, the card reflows, and every card below it shifts. Reserve the width with tabular-nums and a fixed min-width on the price container, or animate the digits in place as the toggle blocks in this collection do. Put the discount label next to the toggle rather than inside the card, and default to whichever period you actually want people on, usually annual.

Two things buyers look for and rarely find. First, what happens at the limit: say whether you block, throttle, or charge overage, because an unanswered ceiling reads as a trap. Second, the trial and cancellation terms, in plain words, directly under the buttons. Both belong in the section itself, not in an FAQ two scrolls down. Every extra scroll between the price and the answer costs you conversions.

Frequently asked questions

How many pricing tiers should I have?

Three for most products, plus a separate enterprise card if you sell to large teams. Three gives buyers something to compare the middle option against, and beyond four the columns get too narrow to read comfortably on a laptop.

How do I add a monthly and yearly toggle to a pricing table?

Two blocks here ship one already. Store the billing period in state, keep both prices on each plan object, and fix the width of the price container so the card does not reflow when the number changes length.

Should I display prices or hide them behind contact sales?

Show them for anything self-serve. Hidden prices filter out qualified buyers who will not fill in a form, and they push visitors to comparison sites for a number. Reserve contact sales for the enterprise tier where the price genuinely varies.

Which pricing tier should be highlighted as featured?

The plan you want most people on, which is usually the middle one. Highlight it with a border, a badge, and slightly more height rather than a different colour scheme, so the section still reads as one table.

Keep exploring

Loved by thousands of developers, designers and entrepreneurs

Here's what some of our users have to say about Aceternity UI.

Featured by popular YouTubers

See what the best YouTubers are saying about Aceternity UI.

Video thumbnail
Jeff from
Fireship
talks about how Aceternity UI can help you build awesome landing pages with speed
Video thumbnail
Watch
Web Prodigies
build an entire SaaS application from scratch with Aceternity UI
Video thumbnail
Josh from
Josh Tried Coding
talks about how Aceternity UI components can help your website stand out.
Video thumbnail
Watch
Hitesh Choudhary
build an entire website from scratch with Aceternity UI
Video thumbnail
Adrian from
Adrian Twarog
talks about Aceternity UI and how to use the components efficiently
Video thumbnail
Adrian from
JavaScript Mastery
creates an entire portfolio website with amazing details and beautiful UI with Aceternity UI
Video thumbnail
Watch
Raj Talks Tech
walk through Aceternity UI components and teaches how to incorporate them into your website