B

Pricing Table

A comparison table for displaying multiple pricing plans side by side with feature comparison.

Free

$0 per month

For individuals

Pro

$29 per month

For small teams

Enterprise

$99 per month

For large orgs

Usage
Projects
3
Unlimited
Unlimited
Team members
1
10
Unlimited
Storage
1 GB
100 GB
Unlimited
Features
Analytics
Custom domains
API access
Priority support
SSO

Installation

npx shadcn@latest add "https://billui.com/r/pricing-table.json"
components/ui/pricing-table.tsx
import { cva, type VariantProps } from "class-variance-authority";
import { Check, Minus, X } from "lucide-react";
import * as React from "react";
import { Button } from "@/components/ui/button";
import { cn } from "@/lib/utils";

// ... component code

Examples

Compact (2 Plans)

Use 3 columns for a compact table with 2 plans.

Starter

$9 per month

Pro

$29 per month
API calls
1,000/mo
100,000/mo
Webhooks
Support
Email
Priority

Yearly Pricing

Use period="year" for annual billing with the elevated variant.

Basic

$79 per year

$6.58/mo billed yearly

Professional

$279 per year

$23.25/mo billed yearly

Business

$599 per year

$49.92/mo billed yearly

Seats included
1
5
20
Projects
5
Unlimited
Unlimited
Advanced reports
Audit logs

Expanded (4 Plans)

Use 5 columns for comparing more plans.

Free

$0 per month

Starter

$19 per month

Pro

$49 per month

Enterprise

$199 per month
Users
1
5
25
Unlimited
Storage
500 MB
10 GB
100 GB
Unlimited
Custom branding
Dedicated support

One-time Pricing

Use period="once" for one-time purchase pricing.

Standard

$99, one-time payment

One-time payment

Extended

$249, one-time payment

Lifetime access

License type
Single site
Unlimited sites
Updates
1 year
Lifetime
Premium support

With Feature Sections

Group features using PricingTableFeatureLabel for better organization.

Hobby

$0 per month

Team

$39 per month

Enterprise

$149 per month
Core Features
Workspaces
1
5
Unlimited
File storage
1 GB
50 GB
500 GB
Collaboration
Real-time editing
Guest access
Security
2FA
SAML SSO

API Reference

PricingTable

The root container component.

PropTypeDefault
variant"default" | "elevated""default"
aria-labelstring"Pricing comparison"

PricingTableHeader

Container for plan headers. Must specify number of columns.

PropTypeDefault
columns3 | 4 | 54

PricingTablePlan

Individual plan column header.

PropTypeDefault
highlightedbooleanfalse

PricingTablePlanName

The plan name heading.

PropTypeDefault
as"h2" | "h3" | "h4""h3"

PricingTablePrice

Displays the price with optional period indicator.

PropTypeDefault
amountnumber
currencystring"$"
period"month" | "year" | "once""month"

PricingTableAction

CTA button for the plan.

PropTypeDefault
variant"default" | "outline" | "secondary""default"
size"default" | "sm" | "lg""default"

PricingTableRow

A feature row. Must specify same number of columns as header.

PropTypeDefault
columns3 | 4 | 54

PricingTableCell

Individual cell for feature values.

PropTypeDefault
valueboolean | string | "partial"
highlightedbooleanfalse

The value prop supports:

  • true — Shows a check icon (✓)
  • false — Shows an X icon (✗)
  • "partial" — Shows a minus icon (−) for partial support
  • string — Shows the text value

PricingTableFeatureLabel

Section header for grouping features.

PropTypeDefault
childrenReact.ReactNode

PricingTableSpacer

Empty spacer cell for the header's first column (where feature names appear in rows).

On this page