</> ConvertAtlas Developer Tools
Bootstrap 5 · Intermediate

Animated Stat Grid

A grid of metric cards whose values count up on load.

Requires Bootstrap 5. Add the CDN tags below to your page (styles in <head>, scripts before </body>). The downloaded file already includes them.
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
<div class="row g-2" style="max-width:440px" id="sgWrap">
  <div class="col-6"><div class="card border-0 shadow-sm"><div class="card-body p-3"><div class="d-flex justify-content-between"><div><div class="text-secondary small">Revenue</div><div class="h5 fw-bold mb-0" data-cv="48200" data-pre="$">$0</div></div><span class="fs-4">💰</span></div></div></div></div>
  <div class="col-6"><div class="card border-0 shadow-sm"><div class="card-body p-3"><div class="d-flex justify-content-between"><div><div class="text-secondary small">Orders</div><div class="h5 fw-bold mb-0" data-cv="1204">0</div></div><span class="fs-4">📦</span></div></div></div></div>
</div>
document.querySelectorAll('#sgWrap [data-cv]').forEach(function(el){var to=+el.dataset.cv,pre=el.dataset.pre||'',s=null;function step(t){if(!s)s=t;var p=Math.min((t-s)/1200,1);el.textContent=pre+Math.floor((1-Math.pow(1-p,3))*to).toLocaleString();if(p<1)requestAnimationFrame(step)}requestAnimationFrame(step)});
Free to use.This component uses Bootstrap 5 (linked above). Copy any file, or download a ready-to-open .html page with the CDN links already included.