</> ConvertAtlas Developer Tools
Bootstrap 5 · Beginner

Searchable Table

A table filtered live as you type, with a row counter.

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="card border-0 shadow-sm" style="max-width:400px"><div class="card-body">
  <input class="form-control form-control-sm mb-2" id="stSearch" placeholder="Filter rows…">
  <table class="table table-sm table-hover small mb-0"><tbody id="stRows">
    <tr><td>Alice Nguyen</td><td>Designer</td></tr><tr><td>Ben Carter</td><td>Engineer</td></tr><tr><td>Cara Diaz</td><td>Manager</td></tr><tr><td>Dan Reyes</td><td>Engineer</td></tr>
  </tbody></table>
  <small class="text-secondary" id="stCount">4 rows</small>
</div></div>
var inp=document.getElementById('stSearch'),rows=document.querySelectorAll('#stRows tr'),cnt=document.getElementById('stCount');
inp.addEventListener('input',function(){var q=inp.value.toLowerCase(),n=0;rows.forEach(function(r){var m=r.textContent.toLowerCase().indexOf(q)>-1;r.style.display=m?'':'none';if(m)n++});cnt.textContent=n+' rows'});
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.