Skip to content
UI Kit
Accent color

Pricing tables and pricing cards

Plans, tiers, calculators and price lists, formatted in the visitor’s language.

11 variants
Switch category

Cards, toggle or comparison table

A pricing section decides whether a visitor signs up or leaves to compare. The components here format every price in the language of the page, so 1,290.00 in English becomes 1.290,00 in German without a line of your own code, and every plan comes from one data array.

Cards is the classic with two to four plans side by side. Monthly or yearly adds the billing toggle and shows the saving, Comparison table lists every feature per plan for products that people compare closely. Price calculator and Usage based fit APIs and services billed by volume. Price list suits practices, salons and restaurants with many single prices, Single plan and Two plans keep a simple offer simple.

Highlight exactly one plan, the one most people should take. Keep feature lists parallel so the eye can compare row by row, and name the currency once. On phones the cards stack and the comparison table turns into one list per plan, check both before you publish.

Pricing

Cards

Three plans side by side, the recommended one carries a light on its border.

Open in Studio

Monthly or yearly

A segmented switch changes the billing, each plan shows what the year saves.

Open in Studio

Comparison table

Grouped rows under sticky plan heads. On phones every plan becomes its own card.

Open in Studio

Single plan

One offer, price and button on the left, everything included on the right.

Open in Studio

Two plans

Free and paid next to each other, the paid plan inverted.

Open in Studio

Price calculator

A slider sets the team size, volume tiers set the price per seat.

Open in Studio

Usage based

Meters with free amounts, a base fee and a sample month as a stacked bar.

Open in Studio

With enterprise band

Compact plans with a wide band for large customers below.

Open in Studio

Price list

Services or a menu in sections, with dotted leaders and small tags.

Open in Studio

Minimal

Text only, three columns between hairlines, the price as the headline.

Open in Studio

Rows

One plan per row, features as chips, price and button at the end of the line.

Open in Studio

Details

What Pricing brings along, read from the registry and the source.

Variants
11
Version
1.0.1 · since 1.0.0
File
components/ui/pricing.tsx
Brings along
utilskitbuttoniconrevealsectionmotion
npm packages
None
Languages
English and German, 24 texts of its own

Props

The PricingProps interface from components/ui/pricing.tsx, with the comments from the code.

  • variantoptional
    PricingVariant

    cardstogglecomparison-tablesingle-plantwo-planscalculatorusage-basedenterprise-calloutprice-listminimalrows

  • eyebrowoptional
    React.ReactNode
  • titleoptional
    React.ReactNode
  • descriptionoptional
    React.ReactNode
  • currencyoptional
    string

    ISO currency, e.g. EUR or USD. Formatting follows the visitor's language.

  • plansoptional
    PricingPlan[]
  • comparisonoptional
    PricingComparisonGroup[]

    comparison-table: grouped rows

  • calculatoroptional
    PricingCalculator

    calculator: the slider and its tiers

  • usageoptional
    PricingUsage

    usage-based: meters, base fee and a sample month

  • enterpriseoptional
    PricingEnterprise

    enterprise-callout: the wide band under the plans

  • menuoptional
    PricingMenuSection[]

    price-list: services or a menu

  • yearlyLabeloptional
    string

    toggle: small label on the yearly option, e.g. "2 months free"

  • footnoteoptional
    React.ReactNode

    Small print under the block, e.g. "All prices plus VAT"

Built-in texts

Pricing writes these texts itself. The language follows the KitProvider, the labels prop replaces single ones.

Show all 24 texts
perMonthEnglish / monthGerman / Monat
monthlyEnglish MonthlyGerman Monatlich
yearlyEnglish YearlyGerman Jährlich
billingEnglish Billing periodGerman Abrechnungszeitraum
billedYearlyEnglish per month, billed yearlyGerman pro Monat, jährliche Zahlung
billedMonthlyEnglish per month, billed monthlyGerman pro Monat, monatliche Zahlung
saveEnglish You save {amount} a yearGerman Du sparst {amount} im Jahr
popularEnglish Most popularGerman Beliebteste Wahl
includedEnglish IncludedGerman Enthalten
notIncludedEnglish Not includedGerman Nicht enthalten
fromEnglish fromGerman ab
featuresEnglish FeaturesGerman Leistungen
whatsIncludedEnglish What is includedGerman Das ist enthalten
perUnitEnglish per {unit} and monthGerman pro {unit} und Monat
totalEnglish Your monthly priceGerman Dein Monatspreis
yearlyTotalEnglish {amount} a yearGerman {amount} im Jahr
tierEnglish Price per {unit}German Preis pro {unit}
upToEnglish up to {n}German bis {n}
aboveEnglish from {n}German ab {n}
freeIncludedEnglish Included freeGerman Frei enthalten
priceEnglish PriceGerman Preis
platformEnglish PlatformGerman Plattform
usageEnglish UsageGerman Nutzung
exampleTotalEnglish TotalGerman Gesamt

Accessibility

Read from the source of the component.

  • Sets aria-current, aria-labelledby and aria-live, so screen readers announce purpose and state.
  • Announces changes through a live region without moving focus.
  • Every field has a label, visible or for screen readers.
  • Adds text for screen readers where icons and graphics stand alone.
  • Shows a visible focus ring when used with the keyboard.
  • The server renders the starting state in full, JavaScript only adds the interaction.

Motion

  • Rises in briefly the first time it comes into view (kit-rise, useInView).
  • Brings animations of its own, calmly timed and without wobble.
  • With reduced motion (prefers-reduced-motion) it stays still. 11 places in the code switch motion off then.

Frequent questions

How do I install Pricing?

With aiw add @ai-website/pricing. The command puts components/ui/pricing.tsx into your project, the code is yours from then on. It brings along button, icon, reveal, section and motion. It needs no further npm packages.

Which variants does Pricing have?

11 variants, Cards, Monthly or yearly, Comparison table, Single plan, Two plans, Price calculator, Usage based, With enterprise band, Price list, Minimal and Rows. You pick one with the variant prop, for example variant="toggle".

Can I translate the texts of Pricing?

Yes. Pricing carries 24 texts of its own in English and German, such as “/ month”, “Monthly” and “Yearly”. The language follows the KitProvider, single texts change through the labels prop.

Can an AI assistant build with Pricing?

Yes. Through the MCP server of the aiw CLI, Claude, Cursor, GitHub Copilot, Windsurf, Codex and Gemini find Pricing with aiw_components and install it with aiw_add @ai-website/pricing. Name the variant in your prompt, for example variant="cards", and the assistant writes your content straight into the props.

Can I adjust Pricing without code?

Yes, in the Studio. All 11 variants are editable there, texts, lists and switches. The Studio writes the matching Pricing code to copy.

Often searched

Jump to

Copied to the clipboard