Skip to content

Pricing Page

A pricing page that computes: seat slider, annual toggle and an expandable comparison matrix.

Prominimaleditorial
Category
Templates
Added
2026-09-01
Deps
1
Updated
2026-09-01

This is a viberdy Pro component

The live preview, the props panel and the write-up are open to everyone. The full source, the AI prompt and CLI install are part of Pro.

Preview
Pricing

Pay for seats, not seats you might need

MonthlyAnnual −20%
Starter
$0/mo
For solo projects
Popular
Team
$35/mo
For small teams
Scale
$77/mo
For orgs
Projects1UnlimitedUnlimited
Preview envs
SSO / SAML
Audit log
SupportCommunityEmailDedicated

Props

20
Comparison table
Requires lucide-react
// Full, shippable page — real size at normal type scale. The registry
// preview above is a scaled-down miniature of this same composition, not
// a different component.
"use client";

import { useState } from "react";
import { Check, Minus } from "lucide-react";

// ONE price per plan. A stored annual figure alongside the monthly one is how
// the two drift apart the first time somebody edits only one of them.
const PLANS = [
  { name: "Starter", monthly: 0, features: ["1 project", "Community support"] },
  { name: "Pro", monthly: 24, features: ["Unlimited projects", "Priority support", "Analytics"] },
  { name: "Enterprise", monthly: 89, features: ["SSO & SAML", "Dedicated CSM", "Custom SLA"] },
];

const MATRIX: { feature: string; tiers: Record<string, string | boolean> }[] = [
  { feature: "Projects", tiers: { Starter: "1", Pro: "Unlimited", Enterprise: "Unlimited" } },

  // ---------------------------------------------------------------
  // Full source available with a viberdy Pro subscription.
  // https://viberdy.dev/pricing
  // ---------------------------------------------------------------
}
Notes

About this template

Pricing is the one page where interactivity is not decoration: the billing toggle and the seat count ARE the decision the visitor is making, so a template that cannot compute a price is a screenshot of a pricing page rather than one. This version recalculates for real — each plan has a base and a per-seat rate, the slider drives the seat count, and the annual switch applies the discount to the computed total rather than to a hard-coded number. The card order still does the classic work: a free anchor on the left, the plan you actually want sold in the visual centre with a colored border and a Popular badge, and a heavier tier on the right that makes the middle look reasonable. The comparison table expands with a grid-template-rows transition from 0fr to 1fr, which animates to the content own height without measuring it — a max-height transition would need a guessed ceiling that either clips rows or spends most of its duration crossing empty space. Caveat: the feature matrix is illustrative, and a real launch needs a parity audit so a lower tier does not accidentally list something a higher one omits.

Related

Pairs well with

Matched on shared tags and category — the entries most likely to be used alongside this one.

Pro

A live estimator with real marginal-tier overage pricing and an annual discount toggle.

pricingcalculatorslider
Pro

A full marketing landing page: nav, hero, logo band, feature grid, and footer.

landingsaasmarketing

A monthly/yearly billing switch with the price sliding to its new value.

pricingtoggleswitch