RemotionUI

Pricing Card

A tier card that earns its price — the number rolls up, the features tick in beneath it, and the call to action arrives last.

SceneScenes

pricing-card30fps · 960×540
Install
$ npx remotion-ui@latest add pricing-card

The price counts up under a soft blur that clears as it settles, the features tick in one at a time, and the button lands after the last of them — so the card finishes on the thing you want clicked rather than on a feature line.

The roll is a plain interpolation on the value, not a spinning digit strip. A strip has to guess glyph widths to keep its columns aligned; a counted number stays in register with tabular-nums at any font size, and it reads as counting rather than as a slot machine. Pass wasPrice when there is a before-and-after to tell — it strikes through beside the new number once the roll is most of the way home.

The call to action is scheduled off the last feature, not off a fixed second, so adding features pushes the button later instead of colliding with it. If you need the whole card inside a tighter cut, lower featureStaggerSeconds before you touch rollSeconds — the roll is the beat people watch.

This is one card at block grain. For a full tier-comparison beat with a composition's pacing around it, use pricing-focus; for a side-by-side matrix, use comparison-table.

The price is a counted number under a blur that clears as it settles, not a spinning digit strip — a strip has to guess glyph widths, a counted number stays in register with tabular-nums at any size. The CTA is scheduled off the last feature, so adding features pushes the button later rather than colliding with it. This is one card at block grain; for a full tier comparison beat, use pricing-focus.

Agent notes

Install first, then import the copied source component locally. AI guide →

Import
@/remotion/scenes/pricing-card
  • Use when: full-frame scenes, overlays, cards, and reusable video sections.
  • Customize: tier, price, currency, period, plus copied source for timing, layout, colors, and typography.
  • Rule: do not import this component from the remotion-ui npm package; it is copied into your project.

Usage

Example
import { PricingCard } from "@/remotion/scenes/pricing-card"; <PricingCard tier="Studio" badge="Most picked" price={32} period="/mo" note="Billed annually. Cancel whenever." features={["2,000 render minutes a month", "4K exports, no watermark", "9 team seats"]} ctaLabel="Start rendering" holdSeconds={3.4} />

API Reference

PropTypeDescription
tierstringTier name across the top of the card.
pricenumberThe number the price rolls up to.
currencystringSymbol set ahead of the number.
periodstringCadence after the price — "/mo", "per seat", anything short.
badgestringChip beside the tier name. Omit to drop it.
notestringLine under the price.
wasPricenumberOld price, struck through beside the new one. Omit when there is no before-and-after.
featuresstring[]Ticked lines under the price, revealed in order.
ctaLabelstringButton text. Omit to drop the button.
priceAtSecondsnumberSecond the price starts rolling.
rollSecondsnumberHow long the roll takes.
featuresAtSecondsnumberSecond the first feature ticks in.
featureStaggerSecondsnumberSeconds between features. The CTA lands 0.16s after the last one.
holdSecondsnumberSeconds the finished card holds before it retreats. Omit to leave it up.
accentColorstringBadge, ticks, card border wash and the CTA fill.
backgroundColorstringPage behind the card. Defaults to the theme page colour.
theme"dark" | "light"Surface palette.
speednumberAnimation speed multiplier.

Related