Charcoal UI

Pricing Tiers

Three plans with a monthly/yearly switch; prices roll to the new amount and the popular plan glows.

  • Type: Pricing section
  • Styles: Dark, Enterprise
  • Licence: Charcoal UI Pro

About Pricing Tiers

Pricing Tiers shows three plans with a monthly and yearly switch; prices roll to the new amount and the popular plan glows.

It is a full-width pricing section for React and Tailwind CSS 4, in a dark and enterprise style. Preview it at any width above, then install it with one command.

When to use Pricing Tiers

  • SaaS pricing pages.
  • Subscription products.
  • Freemium tools.
  • Membership sites.

How it is built

Segmented Control switches billing, Number Ticker rolls each price and Animated Border marks the recommended plan.

It is composed from Segmented Control, Number Ticker, Animated Border, Button, so installing it also installs those components, and you can restyle each one the same way you would on its own.

Goes well with Pricing Tiers

Pricing Tiers is part of 27 full templates, so you can see it in a finished page.

Install Pricing Tiers

npx shadcn@latest add @charcoal/pricing-tiers

Pricing Tiers is part of Charcoal UI Pro: one seat covers all 107 sections, 100 templates and 300 Pro components, for unlimited projects. The command installs the section into components/sections along with every component it uses.

Frequently asked questions

Does Pricing Tiers work with Next.js?
Yes. It is a React 19 component styled with Tailwind CSS 4, so it drops into a Next.js page, a Vite app, Remix or Astro.
Can I change the copy and colours?
Yes. The section is a file in your project. Text, links and images are plain props or JSX, and colours come from your theme's CSS variables, so a brand change is a token edit.

Built from

  • Segmented Control: Two to five exclusive options with a pill that glides to the selection. Arrow keys move and select.
  • Number Ticker: Each digit rolls on its own wheel to the new number, so changes read as motion instead of a flicker.
  • Animated Border: An ember highlight travels around the card's border. CSS only, using @property.
  • Button: Six variants with spring press feedback. The loading state swaps the label for a spinner without changing width.

Pricing Tiers as Markdown