Pricing Table
A responsive SaaS pricing table with plan cards, feature comparison matrix, annual/monthly toggle, and animated price transitions.
Category
CardReact
CSS
shadcn
Manual
Create a file and paste the following code into it.
src/components/pricing-plans.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
export type PlanFeatureValue = boolean | string | null;
export type PricingPlan = {
id: string;
name: string;
description: string;
monthlyPrice: number;
yearlyPrice: number;
cta: string;
featured?: boolean;
};
export type FeatureRow = {
label: string;
tooltip?: string;
values: [PlanFeatureValue, PlanFeatureValue, PlanFeatureValue];
};
export type FeatureGroup = {
group: string;
features: FeatureRow[];
};
export const PRICING_PAGE_PLANS: PricingPlan[] = [
{
id: "free",
name: "Free trial",
description: "Best for small teams and freelancers.",
monthlyPrice: 0,
yearlyPrice: 0,
cta: "Start free trial",
},
{
id: "business",
name: "Business plan",
description: "Best for growing teams.",
monthlyPrice: 25,
yearlyPrice: 20,
cta: "Get started",
featured: true,
},
{
id: "enterprise",
name: "Enterprise plan",
description: "Best for large organizations.",
monthlyPrice: 50,
yearlyPrice: 40,
cta: "Get started",
},
];
export const PRICING_FEATURE_GROUPS: FeatureGroup[] = [
{
group: "Basic features",
features: [
{ label: "Basic features", tooltip: "Core platform features", values: [true, true, true] },
{ label: "Users", tooltip: "Number of team members", values: ["10", "20", "Unlimited"] },
{ label: "Individual data", tooltip: "Storage per user", values: ["20GB", "40GB", "Unlimited"] },
{ label: "Support", tooltip: "Customer support access", values: [true, true, true] },
{ label: "Automated workflows", tooltip: "Workflow automation tools", values: [null, true, true] },
{ label: "200+ integrations", tooltip: "Third-party integrations", values: [null, true, true] },
],
},
{
group: "Reporting and analytics",
features: [
{ label: "Analytics", tooltip: "Data analytics tools", values: ["Basic", "Advanced", "Advanced"] },
{ label: "Export reports", tooltip: "Export data to CSV/PDF", values: [true, true, true] },
{ label: "Scheduled reports", tooltip: "Automated report delivery", values: [true, true, true] },
{ label: "API accesss", tooltip: "REST API access", values: [null, true, true] },
{ label: "Advanced reports", tooltip: "Custom report builder", values: [null, true, true] },
{ label: "Saved reports", tooltip: "Save and reuse reports", values: [null, true, true] },
{ label: "Customer properties", tooltip: "Custom customer attributes", values: [null, null, true] },
{ label: "Custom fields", tooltip: "Custom data fields", values: [null, null, true] },
],
},
{
group: "User access",
features: [
{ label: "SSO/SAML authentication", tooltip: "Single sign-on support", values: [true, true, true] },
{ label: "Advanced permissions", tooltip: "Role-based access control", values: [null, true, true] },
{ label: "Audit log", tooltip: "Activity audit trail", values: [null, null, true] },
{ label: "Data history", tooltip: "Historical data access", values: [null, null, true] },
],
},
];Update the import paths to match your project setup.