Snippets Card

Bootstrap 5 Statistic Cards Dashboard

A dashboard grid of statistic cards with icon tiles, trend badges, mini sparklines and animated counters, led by a highlighted revenue card.

Bootstrap 5 No jQuery Jan 2020 4.1K views

<section class="wdw-stage">
  <div class="container" style="max-width:1120px">
    <div class="d-flex flex-wrap align-items-end justify-content-between gap-3 mb-4">
      <div>
        <span class="wdw-eyebrow">Overview</span>
        <h1 class="wdw-heading h2 mt-1 mb-0">Statistical cards</h1>
      </div>
      <p class="wdw-muted mb-0 small">Last 30 days compared to the previous period</p>
    </div>
    <div class="row g-3 g-lg-4">
      <div class="col-sm-6 col-lg-3">
        <article class="wdw-aurora border-0 rounded-4 shadow sc-card h-100 p-4 position-relative overflow-hidden sc-feature">
          <div class="d-flex align-items-start justify-content-between mb-3">
            <span class="sc-icon sc-icon-light" aria-hidden="true"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="6" width="18" height="12" rx="2.5"/><circle cx="12" cy="12" r="2.5"/><path d="M7 12h.01M17 12h.01"/></svg></span>
            <span class="badge rounded-pill sc-trend sc-up">▲ 12.5%</span>
          </div>
          <p class="sc-label mb-1">Total revenue</p>
          <p class="sc-value mb-3" data-count="128430" data-dec="0" data-pre="$" data-suf="">$128,430</p>
          <svg class="sc-spark" data-spark="8,10,9,13,12,16,15,19" viewBox="0 0 100 28" preserveAspectRatio="none" aria-hidden="true"></svg>
        </article>
      </div>
      <div class="col-sm-6 col-lg-3">
        <article class="wdw-card-sm sc-card h-100 p-4 position-relative overflow-hidden">
          <div class="d-flex align-items-start justify-content-between mb-3">
            <span class="wdw-icon" aria-hidden="true"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><path d="M16 19v-1.5a3.5 3.5 0 0 0-3.5-3.5h-5A3.5 3.5 0 0 0 4 17.5V19"/><circle cx="10" cy="8" r="3.5"/><path d="M20 19v-1.5a3.5 3.5 0 0 0-2.5-3.3M15.5 4.7a3.5 3.5 0 0 1 0 6.6"/></svg></span>
            <span class="badge rounded-pill sc-trend sc-up">▲ 8.2%</span>
          </div>
          <p class="sc-label mb-1">Active users</p>
          <p class="sc-value mb-3" data-count="24918" data-dec="0" data-pre="" data-suf="">24,918</p>
          <svg class="sc-spark" data-spark="6,8,7,9,11,10,13,14" viewBox="0 0 100 28" preserveAspectRatio="none" aria-hidden="true"></svg>
        </article>
      </div>
      <div class="col-sm-6 col-lg-3">
        <article class="wdw-card-sm sc-card h-100 p-4 position-relative overflow-hidden">
          <div class="d-flex align-items-start justify-content-between mb-3">
            <span class="wdw-icon" aria-hidden="true"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><path d="M6 6h15l-1.5 9h-12z"/><path d="M6 6L5 3H2"/><circle cx="9" cy="20" r="1"/><circle cx="18" cy="20" r="1"/></svg></span>
            <span class="badge rounded-pill sc-trend sc-down">▼ 3.1%</span>
          </div>
          <p class="sc-label mb-1">Orders</p>
          <p class="sc-value mb-3" data-count="1284" data-dec="0" data-pre="" data-suf="">1,284</p>
          <svg class="sc-spark" data-spark="12,11,13,10,11,9,10,8" viewBox="0 0 100 28" preserveAspectRatio="none" aria-hidden="true"></svg>
        </article>
      </div>
      <div class="col-sm-6 col-lg-3">
        <article class="wdw-card-sm sc-card h-100 p-4 position-relative overflow-hidden">
          <div class="d-flex align-items-start justify-content-between mb-3">
            <span class="wdw-icon" aria-hidden="true"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><path d="M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12z"/><circle cx="12" cy="12" r="3"/></svg></span>
            <span class="badge rounded-pill sc-trend sc-up">▲ 21.4%</span>
          </div>
          <p class="sc-label mb-1">Page views</p>
          <p class="sc-value mb-3" data-count="582" data-dec="0" data-pre="" data-suf="k">582k</p>
          <svg class="sc-spark" data-spark="5,7,6,10,9,13,15,18" viewBox="0 0 100 28" preserveAspectRatio="none" aria-hidden="true"></svg>
        </article>
      </div>
      <div class="col-sm-6 col-lg-3">
        <article class="wdw-card-sm sc-card h-100 p-4 position-relative overflow-hidden">
          <div class="d-flex align-items-start justify-content-between mb-3">
            <span class="wdw-icon" aria-hidden="true"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><path d="M13 2L4 14h7l-1 8 9-12h-7z"/></svg></span>
            <span class="badge rounded-pill sc-trend sc-up">▲ -0.4 s</span>
          </div>
          <p class="sc-label mb-1">Avg. response</p>
          <p class="sc-value mb-3" data-count="1.8" data-dec="1" data-pre="" data-suf="s">1.8 s</p>
          <svg class="sc-spark" data-spark="14,12,13,10,9,9,7,6" viewBox="0 0 100 28" preserveAspectRatio="none" aria-hidden="true"></svg>
        </article>
      </div>
      <div class="col-sm-6 col-lg-3">
        <article class="wdw-card-sm sc-card h-100 p-4 position-relative overflow-hidden">
          <div class="d-flex align-items-start justify-content-between mb-3">
            <span class="wdw-icon" aria-hidden="true"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><path d="M3 9a2 2 0 0 0 0 6v3h18v-3a2 2 0 0 1 0-6V6H3z"/><path d="M13 6v12" stroke-dasharray="2 2"/></svg></span>
            <span class="badge rounded-pill sc-trend sc-down">▼ 5</span>
          </div>
          <p class="sc-label mb-1">Open tickets</p>
          <p class="sc-value mb-3" data-count="42" data-dec="0" data-pre="" data-suf="">42</p>
          <svg class="sc-spark" data-spark="6,7,6,8,9,8,10,11" viewBox="0 0 100 28" preserveAspectRatio="none" aria-hidden="true"></svg>
        </article>
      </div>
      <div class="col-sm-6 col-lg-3">
        <article class="wdw-card-sm sc-card h-100 p-4 position-relative overflow-hidden">
          <div class="d-flex align-items-start justify-content-between mb-3">
            <span class="wdw-icon" aria-hidden="true"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3l2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.4 2.9 1-6.1L3.2 9.5l6.1-.9z"/></svg></span>
            <span class="badge rounded-pill sc-trend sc-up">▲ 0.2</span>
          </div>
          <p class="sc-label mb-1">Avg. rating</p>
          <p class="sc-value mb-3" data-count="4.8" data-dec="1" data-pre="" data-suf="">4.8</p>
          <svg class="sc-spark" data-spark="9,10,10,11,11,12,12,13" viewBox="0 0 100 28" preserveAspectRatio="none" aria-hidden="true"></svg>
        </article>
      </div>
      <div class="col-sm-6 col-lg-3">
        <article class="wdw-card-sm sc-card h-100 p-4 position-relative overflow-hidden">
          <div class="d-flex align-items-start justify-content-between mb-3">
            <span class="wdw-icon" aria-hidden="true"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><path d="M12 7v5l3 2"/></svg></span>
            <span class="badge rounded-pill sc-trend sc-flat">stable</span>
          </div>
          <p class="sc-label mb-1">Uptime</p>
          <p class="sc-value mb-3" data-count="99.98" data-dec="2" data-pre="" data-suf="%">99.98%</p>
          <svg class="sc-spark" data-spark="10,10,10,10,10,10,10,10" viewBox="0 0 100 28" preserveAspectRatio="none" aria-hidden="true"></svg>
        </article>
      </div>
    </div>
  </div>
</section>

Built on Bootstrap 5.3.8 with plain JavaScript — no jQuery. Supports light and dark mode via data-bs-theme.

Free to use in personal and commercial projects under the MIT license.