Vue pricing table components

A pricing table has to make plans easy to compare at a glance, on a phone as well as a wide screen. These Vue 3 pricing components cover plan cards, billing period toggles and feature comparison layouts, built with Tailwind CSS 4.

Plans are passed in as typed props rather than hard-coded markup, so you can feed them from a CMS or your billing config. Every component supports class-based dark mode and has no dependencies besides vue.

3 components

Preview of Pricing ComparisonFree

Component · Pricing tables

Pricing Comparison

Vue 3 plan comparison table with grouped feature rows, check and dash cells, a sticky plan header on desktop and stacked cards on mobile. Tailwind CSS.

by Vueplay
Preview of Pricing SingleFree

Component · Pricing tables

Pricing Single

Single-plan Vue 3 pricing card with a feature checklist, a sale price, a money-back guarantee and one clear CTA. Tailwind CSS, dark mode, typed props.

by Vueplay
Preview of Pricing TiersFree

Component · Pricing tables

Pricing Tiers

Three-tier Vue 3 pricing table with a monthly/yearly toggle, a highlighted plan and a select event. Tailwind CSS, dark mode, fully typed props.

by Vueplay

Good to know

Building pricing tables that hold up

Drive plans from data
Model each plan as an object with name, price, features and a highlighted flag, and render the cards with v-for. Changing a price then means editing one array instead of three blocks of markup.
Make the billing toggle accessible
A monthly/yearly switch should be a real button with role="switch" and aria-checked, or a pair of radio inputs. Announce the price change by keeping the price in an element screen readers re-read, such as one with aria-live="polite".
Format prices with Intl
Use Intl.NumberFormat with the right currency instead of concatenating strings, so separators and symbol position are correct for each locale.
Plan for the stacked mobile layout
On narrow screens the cards stack, so put the recommended plan first or mark it clearly. For comparison tables, let the table scroll horizontally inside a wrapper rather than squashing columns.

FAQ

Questions

Can I connect these pricing tables to Stripe or another billing provider?

Yes. The components only render plans and emit or link to a checkout action, so you pass your own plan data and checkout URLs from whatever billing setup you use.

How do I install a pricing component?

Every item is a plain Vue 3 single-file component with no dependencies besides vue. Install it with npm from its vueplay.com/npm tarball URL, or copy the source straight into your project.

More component categories

Pro feature

Upgrade to Pro

Upgrade to unlock more of Vueplay. Cancel any time.

  • Custom domains with HTTPS
  • Private projects
  • No "Made with Vueplay" badge
  • GitHub sync

$120/year

Compare plansBilling settings