Sections

Stats Sections

Stats sections turn key numbers into compelling social proof. These components help you highlight growth, scale, and performance metrics in a clear, scannable format.


Component Variants

Stats Simple

Companies using our platform
8,000+
Uptime guarantee
99.99%
API requests per day
250M+
Countries served
40+

Stats With Description

Trusted by teams around the world

From early-stage startups to Fortune 500 companies, teams rely on our platform to ship faster and scale with confidence.

Active teams
12k
Average rating
4.9/5
Customer satisfaction
99.9%
Support availability
24/7

Stats Cards

12.4% increase
48,320
Total users
18
Global regions
0.3% increase
99.98%
Server uptime
65% decrease
2
Incidents this month

Stats Animated (scroll into view)

Companies
0+
API calls per day
0M+
Uptime
0.9%
Countries
0+

Usage

import {
  StatsSimple,
  StatsWithDescription,
  StatsCards,
  StatsAnimated,
} from '@/components/ui/stats';

// Simple row of stats
<StatsSimple
  stats={[
    { value: '8,000+', label: 'Companies using our platform' },
    { value: '99.99%', label: 'Uptime guarantee' },
  ]}
/>

// Heading + description with stats grid
<StatsWithDescription
  heading="Trusted by teams around the world"
  description="From startups to Fortune 500 companies."
  stats={[
    { value: '12k', label: 'Active teams' },
    { value: '4.9/5', label: 'Average rating' },
  ]}
/>

// Cards with icon and trend indicator
<StatsCards
  columns={4} // 2 | 3 | 4
  stats={[
    {
      label: 'Total users',
      value: '48,320',
      icon: <UsersIcon />,
      trend: { direction: 'up', value: '12.4%' },
    },
  ]}
/>

// Count-up animation on scroll into view
<StatsAnimated
  duration={2000}
  stats={[
    { value: 8000, suffix: '+', label: 'Companies' },
    { value: 99, suffix: '.9%', label: 'Uptime' },
  ]}
/>

Props Reference

StatsSimple

PropTypeDefaultDescription
statsStat[]RequiredArray of stat values and labels

Stat

PropTypeDescription
valuestringDisplay value (e.g. '8,000+')
labelstringDescription of the stat

StatsWithDescription

PropTypeDefaultDescription
headingstringRequiredSection heading
descriptionstringRequiredSupporting description text
statsStat[]RequiredArray of stat values and labels

StatsCards

PropTypeDefaultDescription
statsStatCardItem[]RequiredArray of stat cards
columns2 | 3 | 44Number of grid columns

StatCardItem

PropTypeDescription
labelstringDescription of the stat
valuestringDisplay value
iconReactNodeOptional icon shown in the card
trend{ direction: 'up' | 'down'; value: string }Optional trend indicator

StatsAnimated

PropTypeDefaultDescription
statsAnimatedStat[]RequiredArray of stats to count up
durationnumber2000Animation duration in milliseconds

AnimatedStat

PropTypeDescription
valuenumberTarget numeric value
labelstringDescription of the stat
prefixstringOptional text before the number
suffixstringOptional text after the number

Reduced motion

StatsAnimated checks prefers-reduced-motion and, when enabled, renders the target value immediately instead of counting up.

Previous
Pricing Sections