List groups display a series of items: plain lists, menus of links, option pickers, inboxes and settings screens. Make items actionable, colour or number them, lay them out horizontally, or switch content panes with data-ui-toggle="list".
1Basic list
An unordered list with .list-group and .list-group-item.
- Physiotherapy
- Telehealth
- Dental care
- Lab tests
<ul class="list-group" style="max-width: 360px;">
<li class="list-group-item">Physiotherapy</li>
<li class="list-group-item">Telehealth</li>
<li class="list-group-item">Dental care</li>
<li class="list-group-item">Lab tests</li>
</ul>2Active and disabled
Highlight the current item and dim unavailable ones.
- Current plan
- Upgrade options
- Enterprise (contact sales)
- Billing history
<ul class="list-group" style="max-width: 360px;">
<li class="list-group-item active" aria-current="true">Current plan</li>
<li class="list-group-item">Upgrade options</li>
<li class="list-group-item disabled" aria-disabled="true">Enterprise (contact sales)</li>
<li class="list-group-item">Billing history</li>
</ul>3Links and buttons
list-group-item-action adds hover and focus states to links and buttons.
<div class="list-group" style="max-width: 360px;">
<a href="#" class="list-group-item list-group-item-action active" aria-current="true">Overview</a><a href="#" class="list-group-item list-group-item-action">Members</a>
<button type="button" class="list-group-item list-group-item-action">Integrations</button>
<button type="button" class="list-group-item list-group-item-action" disabled>Audit log</button>
</div>4Flush list
list-group-flush removes outer borders so the list sits flush in a parent.
- Same-day appointments
- Online results
- Reminders
<ul class="list-group list-group-flush border-t border-b">
<li class="list-group-item">Same-day appointments</li>
<li class="list-group-item">Online results</li>
<li class="list-group-item">Reminders</li>
</ul>5Numbered list
list-group-numbered on an ol adds counters, here with extra content per item.
- 17How to choose the right serviceDec 2, 2025
- 27How often should you have a health check-up?Feb 26, 2026
- 22A beginner's guide to getting startedDec 5, 2025
<ol class="list-group list-group-numbered" style="max-width: 420px;">
<li class="list-group-item flex justify-between items-start"><div class="ms-2 me-auto"><div class="font-semibold">How to choose the right service</div><span class="small text-muted">Dec 2, 2025</span></div><span class="badge text-bg-primary rounded-full">17</span></li>
<li class="list-group-item flex justify-between items-start"><div class="ms-2 me-auto"><div class="font-semibold">How often should you have a health check-up?</div><span class="small text-muted">Feb 26, 2026</span></div><span class="badge text-bg-primary rounded-full">27</span></li>
<li class="list-group-item flex justify-between items-start"><div class="ms-2 me-auto"><div class="font-semibold">A beginner's guide to getting started</div><span class="small text-muted">Dec 5, 2025</span></div><span class="badge text-bg-primary rounded-full">22</span></li>
</ol>6Horizontal list
list-group-horizontal lays items in a row; -md makes it responsive.
- 59.6kVisitors
- 227Sign-ups
- 49%Conversion
<ul class="list-group list-group-horizontal-md">
<li class="list-group-item flex-auto text-center"><div class="font-bold">59.6k</div><small class="text-muted">Visitors</small></li>
<li class="list-group-item flex-auto text-center"><div class="font-bold">227</div><small class="text-muted">Sign-ups</small></li>
<li class="list-group-item flex-auto text-center"><div class="font-bold">49%</div><small class="text-muted">Conversion</small></li>
</ul>7Contextual colours
list-group-item-* colours individual items.
<div class="list-group" style="max-width: 360px;">
<a href="#" class="list-group-item list-group-item-action list-group-item-primary">Primary item</a><a href="#" class="list-group-item list-group-item-action list-group-item-secondary">Secondary item</a><a href="#" class="list-group-item list-group-item-action list-group-item-success">Success item</a><a href="#" class="list-group-item list-group-item-action list-group-item-danger">Danger item</a><a href="#" class="list-group-item list-group-item-action list-group-item-warning">Warning item</a><a href="#" class="list-group-item list-group-item-action list-group-item-info">Info item</a><a href="#" class="list-group-item list-group-item-action list-group-item-light">Light item</a><a href="#" class="list-group-item list-group-item-action list-group-item-dark">Dark item</a>
</div>8With badges
Pill badges at the end of each item show counts.
- Projects5
- Tasks59
- Issues3
<ul class="list-group" style="max-width: 360px;">
<li class="list-group-item flex justify-between items-center"><span><i class="bi bi-folder" aria-hidden="true"></i> Projects</span><span class="badge text-bg-primary rounded-full">5</span></li>
<li class="list-group-item flex justify-between items-center"><span><i class="bi bi-check2-square" aria-hidden="true"></i> Tasks</span><span class="badge text-bg-success rounded-full">59</span></li>
<li class="list-group-item flex justify-between items-center"><span><i class="bi bi-exclamation-circle" aria-hidden="true"></i> Issues</span><span class="badge text-bg-danger rounded-full">3</span></li>
</ul>9Custom content
Headings, text and meta inside each item, like a list of articles.
What to expect at your first dental visit
13 min agoYour records are private, secure and always available when you need them.
Sofia IbrahimFive things we learned this year
just nowStart in minutes and get help from a real person whenever you need it.
Jonah DuarteOur favourite tips for busy weeks
just nowLab results arrive in your patient portal, usually within 48 hours.
Ella Kim<div class="list-group" style="max-width: 520px;">
<a href="#" class="list-group-item list-group-item-action active" aria-current="true">
<div class="flex w-full justify-between">
<h6 class="mb-1">What to expect at your first dental visit</h6>
<small>13 min ago</small>
</div>
<p class="mb-1 small">Your records are private, secure and always available when you need them.</p>
<small class="">Sofia Ibrahim</small></a><a href="#" class="list-group-item list-group-item-action">
<div class="flex w-full justify-between">
<h6 class="mb-1">Five things we learned this year</h6>
<small>just now</small>
</div>
<p class="mb-1 small">Start in minutes and get help from a real person whenever you need it.</p>
<small class="text-muted">Jonah Duarte</small></a><a href="#" class="list-group-item list-group-item-action">
<div class="flex w-full justify-between">
<h6 class="mb-1">Our favourite tips for busy weeks</h6>
<small>just now</small>
</div>
<p class="mb-1 small">Lab results arrive in your patient portal, usually within 48 hours.</p>
<small class="text-muted">Ella Kim</small></a>
</div>10Checkbox list
Checkboxes and labels in items make a simple to-do list.
<ul class="list-group" style="max-width: 360px;">
<li class="list-group-item"><input class="form-check-input me-2" type="checkbox" id="lg-chk-982" checked><label class="form-check-label line-through text-muted" for="lg-chk-982">Modern update honest</label></li>
<li class="list-group-item"><input class="form-check-input me-2" type="checkbox" id="lg-chk-983" checked><label class="form-check-label line-through text-muted" for="lg-chk-983">Calm update fast</label></li>
<li class="list-group-item"><input class="form-check-input me-2" type="checkbox" id="lg-chk-984"><label class="form-check-label" for="lg-chk-984">Modern project smart</label></li>
<li class="list-group-item"><input class="form-check-input me-2" type="checkbox" id="lg-chk-985"><label class="form-check-label" for="lg-chk-985">Honest story flexible</label></li>
</ul>11Radio option list
Whole list items as labels for radio buttons, e.g. a plan picker.
<div class="list-group" style="max-width: 420px;">
<label class="list-group-item flex gap-4" for="lg-radio-opt-987"><input class="form-check-input shrink-0" type="radio" name="lg-radio-986" id="lg-radio-opt-987"><span><span class="block font-semibold">Starter</span><small class="text-muted">$9 / month</small></span></label>
<label class="list-group-item flex gap-4" for="lg-radio-opt-988"><input class="form-check-input shrink-0" type="radio" name="lg-radio-986" id="lg-radio-opt-988" checked><span><span class="block font-semibold">Team</span><small class="text-muted">$29 / month</small></span></label>
<label class="list-group-item flex gap-4" for="lg-radio-opt-989"><input class="form-check-input shrink-0" type="radio" name="lg-radio-986" id="lg-radio-opt-989"><span><span class="block font-semibold">Business</span><small class="text-muted">$79 / month</small></span></label>
</div>12List as tabs
data-ui-toggle="list" turns the list into tab navigation for panes next to it.
Start in minutes and get help from a real person whenever you need it.
Two-step verification is on.
Lab results arrive in your patient portal, usually within 48 hours.
<div class="row g-3">
<div class="col-sm-4">
<div class="list-group" role="tablist">
<a class="list-group-item list-group-item-action active" id="lg-tab-990-tab" data-ui-toggle="list" href="#lg-tab-990" role="tab" aria-controls="lg-tab-990" aria-selected="true">Profile</a><a class="list-group-item list-group-item-action" id="lg-tab-991-tab" data-ui-toggle="list" href="#lg-tab-991" role="tab" aria-controls="lg-tab-991" aria-selected="false">Security</a><a class="list-group-item list-group-item-action" id="lg-tab-992-tab" data-ui-toggle="list" href="#lg-tab-992" role="tab" aria-controls="lg-tab-992" aria-selected="false">Notifications</a>
</div>
</div>
<div class="col-sm-8">
<div class="tab-content border rounded-md p-4 h-full">
<div class="tab-pane fade show active" id="lg-tab-990" role="tabpanel" aria-labelledby="lg-tab-990-tab">
<p class="mb-0">Start in minutes and get help from a real person whenever you need it.</p>
</div>
<div class="tab-pane fade" id="lg-tab-991" role="tabpanel" aria-labelledby="lg-tab-991-tab">
<p class="mb-0"><i class="bi bi-shield-lock" aria-hidden="true"></i> Two-step verification is on.</p>
</div>
<div class="tab-pane fade" id="lg-tab-992" role="tabpanel" aria-labelledby="lg-tab-992-tab">
<p class="mb-0">Lab results arrive in your patient portal, usually within 48 hours.</p>
</div>
</div>
</div>
</div>13Notification list
Avatars, message and time, with a dot for unread items.
<div class="list-group" style="max-width: 440px;">
<a href="#" class="list-group-item list-group-item-action flex gap-4 py-4"><img src="../assets/img/avatar-2.svg" alt="Ravi Carter" class="rounded-full shrink-0" width="40" height="40">
<div class="grow">
<div class="flex justify-between">
<strong class="small">Ravi Carter</strong><small class="text-muted whitespace-nowrap ms-2">yesterday</small>
</div>
<div class="small text-muted">
Friendly reminders make sure you never miss a check-up or a dose.
</div>
</div>
<span class="p-1 bg-primary rounded-full self-center"><span class="sr-only">Unread</span></span></a><a href="#" class="list-group-item list-group-item-action flex gap-4 py-4"><img src="../assets/img/avatar-10.svg" alt="Owen Ashford" class="rounded-full shrink-0" width="40" height="40">
<div class="grow">
<div class="flex justify-between">
<strong class="small">Owen Ashford</strong><small class="text-muted whitespace-nowrap ms-2">33 min ago</small>
</div>
<div class="small text-muted">
Clear prices, honest advice and no surprises along the way.
</div>
</div>
</a><a href="#" class="list-group-item list-group-item-action flex gap-4 py-4"><img src="../assets/img/avatar-4.svg" alt="Zoe Tanaka" class="rounded-full shrink-0" width="40" height="40">
<div class="grow">
<div class="flex justify-between">
<strong class="small">Zoe Tanaka</strong><small class="text-muted whitespace-nowrap ms-2">just now</small>
</div>
<div class="small text-muted">
We keep things simple, so you can focus on what matters to you.
</div>
</div>
</a>
</div>14File list
File type icons, sizes and a download button per file.
- sleep-tips-our-doctors-actually-use.pdf781 KB · Dec 22, 2025
- simple-habits-for-a-healthier-back.png75 KB · Dec 12, 2025
- understanding-your-blood-test-results.xlsx144 KB · Sep 14, 2025
- looking-back-at-a-busy-season.zip16 KB · Oct 28, 2025
<ul class="list-group" style="max-width: 480px;">
<li class="list-group-item flex items-center gap-4"><span class="text-xl text-danger-emphasis"><i class="bi bi-file-earmark-pdf" aria-hidden="true"></i></span><div class="grow truncate"><div class="small font-semibold truncate">sleep-tips-our-doctors-actually-use.pdf</div><div class="small text-muted">781 KB · Dec 22, 2025</div></div><button type="button" class="btn btn-sm btn-light border" aria-label="Download"><i class="bi bi-download" aria-hidden="true"></i></button></li>
<li class="list-group-item flex items-center gap-4"><span class="text-xl text-success-emphasis"><i class="bi bi-file-earmark-image" aria-hidden="true"></i></span><div class="grow truncate"><div class="small font-semibold truncate">simple-habits-for-a-healthier-back.png</div><div class="small text-muted">75 KB · Dec 12, 2025</div></div><button type="button" class="btn btn-sm btn-light border" aria-label="Download"><i class="bi bi-download" aria-hidden="true"></i></button></li>
<li class="list-group-item flex items-center gap-4"><span class="text-xl text-primary-ink"><i class="bi bi-file-earmark-spreadsheet" aria-hidden="true"></i></span><div class="grow truncate"><div class="small font-semibold truncate">understanding-your-blood-test-results.xlsx</div><div class="small text-muted">144 KB · Sep 14, 2025</div></div><button type="button" class="btn btn-sm btn-light border" aria-label="Download"><i class="bi bi-download" aria-hidden="true"></i></button></li>
<li class="list-group-item flex items-center gap-4"><span class="text-xl text-warning-emphasis"><i class="bi bi-file-earmark-zip" aria-hidden="true"></i></span><div class="grow truncate"><div class="small font-semibold truncate">looking-back-at-a-busy-season.zip</div><div class="small text-muted">16 KB · Oct 28, 2025</div></div><button type="button" class="btn btn-sm btn-light border" aria-label="Download"><i class="bi bi-download" aria-hidden="true"></i></button></li>
</ul>15Contact list
People with role and quick call and email actions.
- Lea MensahCustomer Success
- Samir MoreauCustomer Success
- Liam SilvaFinance Lead
<ul class="list-group" style="max-width: 480px;">
<li class="list-group-item flex items-center gap-4"><img src="../assets/img/avatar-4.svg" alt="Lea Mensah" class="rounded-full shrink-0" width="40" height="40"><div class="grow"><div class="font-semibold small">Lea Mensah</div><div class="small text-muted">Customer Success</div></div><div class="btn-group btn-group-sm" role="group" aria-label="Contact Lea"><button type="button" class="btn btn-outline-secondary" aria-label="Call"><i class="bi bi-telephone" aria-hidden="true"></i></button><button type="button" class="btn btn-outline-secondary" aria-label="Email"><i class="bi bi-envelope" aria-hidden="true"></i></button></div></li>
<li class="list-group-item flex items-center gap-4"><img src="../assets/img/avatar-10.svg" alt="Samir Moreau" class="rounded-full shrink-0" width="40" height="40"><div class="grow"><div class="font-semibold small">Samir Moreau</div><div class="small text-muted">Customer Success</div></div><div class="btn-group btn-group-sm" role="group" aria-label="Contact Samir"><button type="button" class="btn btn-outline-secondary" aria-label="Call"><i class="bi bi-telephone" aria-hidden="true"></i></button><button type="button" class="btn btn-outline-secondary" aria-label="Email"><i class="bi bi-envelope" aria-hidden="true"></i></button></div></li>
<li class="list-group-item flex items-center gap-4"><img src="../assets/img/avatar-11.svg" alt="Liam Silva" class="rounded-full shrink-0" width="40" height="40"><div class="grow"><div class="font-semibold small">Liam Silva</div><div class="small text-muted">Finance Lead</div></div><div class="btn-group btn-group-sm" role="group" aria-label="Contact Liam"><button type="button" class="btn btn-outline-secondary" aria-label="Call"><i class="bi bi-telephone" aria-hidden="true"></i></button><button type="button" class="btn btn-outline-secondary" aria-label="Email"><i class="bi bi-envelope" aria-hidden="true"></i></button></div></li>
</ul>16Settings with switches
Each setting has an icon, a description and a switch on the right.
<ul class="list-group" style="max-width: 480px;">
<li class="list-group-item flex items-center gap-4 py-4"><span class="text-lg text-primary-ink"><i class="bi bi-bell" aria-hidden="true"></i></span><label class="grow" for="lg-switch-993"><span class="block font-semibold small">Push notifications</span><span class="small text-muted">Get alerts on your phone</span></label><div class="form-check form-switch m-0"><input class="form-check-input" type="checkbox" role="switch" id="lg-switch-993" checked></div></li>
<li class="list-group-item flex items-center gap-4 py-4"><span class="text-lg text-primary-ink"><i class="bi bi-envelope" aria-hidden="true"></i></span><label class="grow" for="lg-switch-994"><span class="block font-semibold small">Weekly digest</span><span class="small text-muted">A summary every Monday</span></label><div class="form-check form-switch m-0"><input class="form-check-input" type="checkbox" role="switch" id="lg-switch-994" checked></div></li>
<li class="list-group-item flex items-center gap-4 py-4"><span class="text-lg text-primary-ink"><i class="bi bi-moon" aria-hidden="true"></i></span><label class="grow" for="lg-switch-995"><span class="block font-semibold small">Dark mode</span><span class="small text-muted">Easier on the eyes at night</span></label><div class="form-check form-switch m-0"><input class="form-check-input" type="checkbox" role="switch" id="lg-switch-995"></div></li>
</ul>17Task progress list
Progress bars inside items track several jobs at once.
- Reliable idea100%
- Bright story16%
- Elegant launch24%
<ul class="list-group" style="max-width: 480px;">
<li class="list-group-item"><div class="flex justify-between small mb-1"><span class="font-semibold">Reliable idea</span><span class="text-muted">100%</span></div><div class="progress" role="progressbar" aria-label="Task progress" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100" style="height: 6px;"><div class="progress-bar bg-success" style="width: 100%;"></div></div></li>
<li class="list-group-item"><div class="flex justify-between small mb-1"><span class="font-semibold">Bright story</span><span class="text-muted">16%</span></div><div class="progress" role="progressbar" aria-label="Task progress" aria-valuenow="16" aria-valuemin="0" aria-valuemax="100" style="height: 6px;"><div class="progress-bar bg-warning" style="width: 16%;"></div></div></li>
<li class="list-group-item"><div class="flex justify-between small mb-1"><span class="font-semibold">Elegant launch</span><span class="text-muted">24%</span></div><div class="progress" role="progressbar" aria-label="Task progress" aria-valuenow="24" aria-valuemin="0" aria-valuemax="100" style="height: 6px;"><div class="progress-bar bg-warning" style="width: 24%;"></div></div></li>
</ul>18Inbox list
Unread messages in bold with a tinted edge; long lines are truncated.
<div class="list-group" style="max-width: 560px;">
<a href="#" class="list-group-item list-group-item-action flex gap-4 items-start ca-unread"><span class="pt-1 text-warning-emphasis"><i class="bi bi-star-fill" aria-hidden="true"></i></span>
<div class="grow truncate">
<div class="flex justify-between">
<span class="font-bold">Freya Novak</span><small class="text-muted ms-2 whitespace-nowrap">11:45</small>
</div>
<div class="small truncate font-semibold">
Inside our new heart screening clinic
</div>
<div class="small text-muted truncate">
Friendly people answer your questions quickly, by phone, chat or email.
</div>
</div>
</a><a href="#" class="list-group-item list-group-item-action flex gap-4 items-start ca-unread"><span class="pt-1 text-warning-emphasis"><i class="bi bi-star" aria-hidden="true"></i></span>
<div class="grow truncate">
<div class="flex justify-between">
<span class="font-bold">Amara Alvarez</span><small class="text-muted ms-2 whitespace-nowrap">13:00</small>
</div>
<div class="small truncate font-semibold">
A simple monthly skin check
</div>
<div class="small text-muted truncate">
Our clinic is fully accessible, with free parking right outside.
</div>
</div>
</a><a href="#" class="list-group-item list-group-item-action flex gap-4 items-start"><span class="pt-1 text-warning-emphasis"><i class="bi bi-star" aria-hidden="true"></i></span>
<div class="grow truncate">
<div class="flex justify-between">
<span class="">Lucas Whitaker</span><small class="text-muted ms-2 whitespace-nowrap">08:45</small>
</div>
<div class="small truncate text-muted">
How often should you have a health check-up?
</div>
<div class="small text-muted truncate">
Our specialists take time to listen and explain every step of your treatment.
</div>
</div>
</a><a href="#" class="list-group-item list-group-item-action flex gap-4 items-start"><span class="pt-1 text-warning-emphasis"><i class="bi bi-star" aria-hidden="true"></i></span>
<div class="grow truncate">
<div class="flex justify-between">
<span class="">Tariq Haddad</span><small class="text-muted ms-2 whitespace-nowrap">18:15</small>
</div>
<div class="small truncate text-muted">
Understanding your blood test results
</div>
<div class="small text-muted truncate">
Every detail is handled by people who care about getting it right.
</div>
</div>
</a>
</div>19Leaderboard
Ranked people with medal badges, avatars and scores.
- 1
Isla Varga964 pts
- 2
Felix Fischer699 pts
- 3
Maya Sato450 pts
- 4
Ava Lindqvist272 pts
<ol class="list-group" style="max-width: 420px;">
<li class="list-group-item flex items-center gap-4"><span class="badge rounded-full text-bg-warning ca-rank">1</span><img src="../assets/img/avatar-11.svg" alt="Isla Varga" class="rounded-full shrink-0" width="36" height="36"><span class="grow small font-semibold">Isla Varga</span><span class="small">964 pts</span></li>
<li class="list-group-item flex items-center gap-4"><span class="badge rounded-full text-bg-secondary ca-rank">2</span><img src="../assets/img/avatar-7.svg" alt="Felix Fischer" class="rounded-full shrink-0" width="36" height="36"><span class="grow small font-semibold">Felix Fischer</span><span class="small">699 pts</span></li>
<li class="list-group-item flex items-center gap-4"><span class="badge rounded-full text-bg-danger ca-rank">3</span><img src="../assets/img/avatar-7.svg" alt="Maya Sato" class="rounded-full shrink-0" width="36" height="36"><span class="grow small font-semibold">Maya Sato</span><span class="small">450 pts</span></li>
<li class="list-group-item flex items-center gap-4"><span class="badge rounded-full text-bg-light ca-rank">4</span><img src="../assets/img/avatar-3.svg" alt="Ava Lindqvist" class="rounded-full shrink-0" width="36" height="36"><span class="grow small font-semibold">Ava Lindqvist</span><span class="small">272 pts</span></li>
</ol>20Reorderable list look
Grip handles signal that items can be reordered (wire up drag and drop in your app).
- Insurance friendly1
- Certified specialists2
- Family plans3
- Reminders4
<ul class="list-group" style="max-width: 420px;">
<li class="list-group-item flex items-center gap-2"><span class="text-tertiary ca-grip" title="Drag to reorder"><i class="bi bi-grip-vertical" aria-hidden="true"></i></span><span class="grow">Insurance friendly</span><span class="badge bg-surface-2 text-muted">1</span></li>
<li class="list-group-item flex items-center gap-2"><span class="text-tertiary ca-grip" title="Drag to reorder"><i class="bi bi-grip-vertical" aria-hidden="true"></i></span><span class="grow">Certified specialists</span><span class="badge bg-surface-2 text-muted">2</span></li>
<li class="list-group-item flex items-center gap-2"><span class="text-tertiary ca-grip" title="Drag to reorder"><i class="bi bi-grip-vertical" aria-hidden="true"></i></span><span class="grow">Family plans</span><span class="badge bg-surface-2 text-muted">3</span></li>
<li class="list-group-item flex items-center gap-2"><span class="text-tertiary ca-grip" title="Drag to reorder"><i class="bi bi-grip-vertical" aria-hidden="true"></i></span><span class="grow">Reminders</span><span class="badge bg-surface-2 text-muted">4</span></li>
</ul>