List Group
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.
- Live streaming
- Networking app
- Sponsorship
- Venue booking
<ul class="list-group" style="max-width: 360px;">
<li class="list-group-item">Live streaming</li>
<li class="list-group-item">Networking app</li>
<li class="list-group-item">Sponsorship</li>
<li class="list-group-item">Venue booking</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.
- Hands-on workshops
- Networking lounges
- Recorded sessions
<ul class="list-group list-group-flush border-t border-b">
<li class="list-group-item">Hands-on workshops</li>
<li class="list-group-item">Networking lounges</li>
<li class="list-group-item">Recorded sessions</li>
</ul>5Numbered list
list-group-numbered on an ol adds counters, here with extra content per item.
- 2How we rebuilt our updateOct 16, 2025
- 7How we rebuilt our workflowJun 29, 2026
- 5Release notes for attendeesOct 23, 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 we rebuilt our update</div><span class="small text-muted">Oct 16, 2025</span></div><span class="badge text-bg-primary rounded-full">2</span></li>
<li class="list-group-item flex justify-between items-start"><div class="ms-2 me-auto"><div class="font-semibold">How we rebuilt our workflow</div><span class="small text-muted">Jun 29, 2026</span></div><span class="badge text-bg-primary rounded-full">7</span></li>
<li class="list-group-item flex justify-between items-start"><div class="ms-2 me-auto"><div class="font-semibold">Release notes for attendees</div><span class="small text-muted">Oct 23, 2025</span></div><span class="badge text-bg-primary rounded-full">5</span></li>
</ol>6Horizontal list
list-group-horizontal lays items in a row; -md makes it responsive.
- 7.7kVisitors
- 571Sign-ups
- 73%Conversion
<ul class="list-group list-group-horizontal-md">
<li class="list-group-item flex-auto text-center"><div class="font-bold">7.7k</div><small class="text-muted">Visitors</small></li>
<li class="list-group-item flex-auto text-center"><div class="font-bold">571</div><small class="text-muted">Sign-ups</small></li>
<li class="list-group-item flex-auto text-center"><div class="font-bold">73%</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.
- Projects29
- Tasks87
- Issues9
<ul class="list-group" style="max-width: 360px;">
<li class="list-group-item flex justify-between items-center"><span><i class="bi bi-folder-fill" aria-hidden="true"></i> Projects</span><span class="badge text-bg-primary rounded-full">29</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">87</span></li>
<li class="list-group-item flex justify-between items-center"><span><i class="bi bi-exclamation-circle-fill" aria-hidden="true"></i> Issues</span><span class="badge text-bg-danger rounded-full">9</span></li>
</ul>9Custom content
Headings, text and meta inside each item, like a list of articles.
Plan notes for attendees
7 hours agoOur live streaming guides the whole team on the same page wherever you are.
Zoe FischerHow we rebuilt our plan
just nowThe new networking lounges lets customers coming back in just a few clicks.
Maya KowalskiHow we rebuilt our experience
20 hours agoA fast release turns every detail in view without the usual hassle.
Priya Larsen<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">Plan notes for attendees</h6>
<small>7 hours ago</small>
</div>
<p class="mb-1 small">Our live streaming guides the whole team on the same page wherever you are.</p>
<small class="">Zoe Fischer</small></a><a href="#" class="list-group-item list-group-item-action">
<div class="flex w-full justify-between">
<h6 class="mb-1">How we rebuilt our plan</h6>
<small>just now</small>
</div>
<p class="mb-1 small">The new networking lounges lets customers coming back in just a few clicks.</p>
<small class="text-muted">Maya Kowalski</small></a><a href="#" class="list-group-item list-group-item-action">
<div class="flex w-full justify-between">
<h6 class="mb-1">How we rebuilt our experience</h6>
<small>20 hours ago</small>
</div>
<p class="mb-1 small">A fast release turns every detail in view without the usual hassle.</p>
<small class="text-muted">Priya Larsen</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">Flexible release reliable</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">Fast plan smart</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">Flexible update practical</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">Calm idea honest</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.
The new networking lounges makes projects moving forward all year round.
Two-step verification is on.
Our ticketing lets the whole team on the same page all year round.
<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">The new networking lounges makes projects moving forward all year round.</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-fill" 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">Our ticketing lets the whole team on the same page all year round.</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-3.svg" alt="Nadia Kowalski" class="rounded-full shrink-0" width="40" height="40">
<div class="grow">
<div class="flex justify-between">
<strong class="small">Nadia Kowalski</strong><small class="text-muted whitespace-nowrap ms-2">4 days ago</small>
</div>
<div class="small text-muted">
A focused goal shows every detail in view from the very first day.
</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-2.svg" alt="Lucas Novak" class="rounded-full shrink-0" width="40" height="40">
<div class="grow">
<div class="flex justify-between">
<strong class="small">Lucas Novak</strong><small class="text-muted whitespace-nowrap ms-2">1 days ago</small>
</div>
<div class="small text-muted">
A reliable launch turns complex tasks into simple steps without the usual hassle.
</div>
</div>
</a><a href="#" class="list-group-item list-group-item-action flex gap-4 py-4"><img src="../assets/img/avatar-3.svg" alt="Elena Tanaka" class="rounded-full shrink-0" width="40" height="40">
<div class="grow">
<div class="flex justify-between">
<strong class="small">Elena Tanaka</strong><small class="text-muted whitespace-nowrap ms-2">11 hours ago</small>
</div>
<div class="small text-muted">
Our speaker management guides results you can measure all year round.
</div>
</div>
</a>
</div>14File list
File type icons, sizes and a download button per file.
- 4-lessons-from-our-journey.pdf572 KB · Jun 1, 2026
- 6-lessons-from-our-workflow.png24 KB · Jun 5, 2026
- the-secure-goal-checklist.xlsx809 KB · Dec 21, 2025
- how-we-rebuilt-our-dashboard.zip452 KB · Jun 27, 2026
<ul class="list-group" style="max-width: 480px;">
<li class="list-group-item flex items-center gap-4"><span class="text-xl text-danger"><i class="bi bi-file-earmark-pdf-fill" aria-hidden="true"></i></span><div class="grow truncate"><div class="small font-semibold truncate">4-lessons-from-our-journey.pdf</div><div class="small text-muted">572 KB · Jun 1, 2026</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"><i class="bi bi-file-earmark-image-fill" aria-hidden="true"></i></span><div class="grow truncate"><div class="small font-semibold truncate">6-lessons-from-our-workflow.png</div><div class="small text-muted">24 KB · Jun 5, 2026</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"><i class="bi bi-file-earmark-spreadsheet-fill" aria-hidden="true"></i></span><div class="grow truncate"><div class="small font-semibold truncate">the-secure-goal-checklist.xlsx</div><div class="small text-muted">809 KB · Dec 21, 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"><i class="bi bi-file-earmark-zip-fill" aria-hidden="true"></i></span><div class="grow truncate"><div class="small font-semibold truncate">how-we-rebuilt-our-dashboard.zip</div><div class="small text-muted">452 KB · Jun 27, 2026</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.
- Leo CarterSupport Specialist
- Finn RossiFinance Lead
- Luna VargaFinance Lead
<ul class="list-group" style="max-width: 480px;">
<li class="list-group-item flex items-center gap-4"><img src="../assets/img/avatar-10.svg" alt="Leo Carter" class="rounded-full shrink-0" width="40" height="40"><div class="grow"><div class="font-semibold small">Leo Carter</div><div class="small text-muted">Support Specialist</div></div><div class="btn-group btn-group-sm" role="group" aria-label="Contact Leo"><button type="button" class="btn btn-outline-secondary" aria-label="Call"><i class="bi bi-telephone-fill" aria-hidden="true"></i></button><button type="button" class="btn btn-outline-secondary" aria-label="Email"><i class="bi bi-envelope-fill" aria-hidden="true"></i></button></div></li>
<li class="list-group-item flex items-center gap-4"><img src="../assets/img/avatar-3.svg" alt="Finn Rossi" class="rounded-full shrink-0" width="40" height="40"><div class="grow"><div class="font-semibold small">Finn Rossi</div><div class="small text-muted">Finance Lead</div></div><div class="btn-group btn-group-sm" role="group" aria-label="Contact Finn"><button type="button" class="btn btn-outline-secondary" aria-label="Call"><i class="bi bi-telephone-fill" aria-hidden="true"></i></button><button type="button" class="btn btn-outline-secondary" aria-label="Email"><i class="bi bi-envelope-fill" 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="Luna Varga" class="rounded-full shrink-0" width="40" height="40"><div class="grow"><div class="font-semibold small">Luna Varga</div><div class="small text-muted">Finance Lead</div></div><div class="btn-group btn-group-sm" role="group" aria-label="Contact Luna"><button type="button" class="btn btn-outline-secondary" aria-label="Call"><i class="bi bi-telephone-fill" aria-hidden="true"></i></button><button type="button" class="btn btn-outline-secondary" aria-label="Email"><i class="bi bi-envelope-fill" 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"><i class="bi bi-bell-fill" 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"><i class="bi bi-envelope-fill" 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"><i class="bi bi-moon-fill" 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.
- Smart plan100%
- Honest project12%
- Honest release30%
<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">Smart plan</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">Honest project</span><span class="text-muted">12%</span></div><div class="progress" role="progressbar" aria-label="Task progress" aria-valuenow="12" aria-valuemin="0" aria-valuemax="100" style="height: 6px;"><div class="progress-bar bg-warning" style="width: 12%;"></div></div></li>
<li class="list-group-item"><div class="flex justify-between small mb-1"><span class="font-semibold">Honest release</span><span class="text-muted">30%</span></div><div class="progress" role="progressbar" aria-label="Task progress" aria-valuenow="30" aria-valuemin="0" aria-valuemax="100" style="height: 6px;"><div class="progress-bar bg-warning" style="width: 30%;"></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"><i class="bi bi-star-fill" aria-hidden="true"></i></span>
<div class="grow truncate">
<div class="flex justify-between">
<span class="font-bold">Lea Patel</span><small class="text-muted ms-2 whitespace-nowrap">20:45</small>
</div>
<div class="small truncate font-semibold">
The bright story checklist
</div>
<div class="small text-muted truncate">
The new world-class speakers lets time back in your day with friendly support.
</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"><i class="bi bi-star-fill" aria-hidden="true"></i></span>
<div class="grow truncate">
<div class="flex justify-between">
<span class="font-bold">Ava Silva</span><small class="text-muted ms-2 whitespace-nowrap">20:45</small>
</div>
<div class="small truncate font-semibold">
Calm ways to improve your routine
</div>
<div class="small text-muted truncate">
The new recorded sessions helps the whole team on the same page all year round.
</div>
</div>
</a><a href="#" class="list-group-item list-group-item-action flex gap-4 items-start"><span class="pt-1 text-warning"><i class="bi bi-star-fill" aria-hidden="true"></i></span>
<div class="grow truncate">
<div class="flex justify-between">
<span class="">Luna Lindqvist</span><small class="text-muted ms-2 whitespace-nowrap">16:45</small>
</div>
<div class="small truncate text-muted">
Update notes for attendees
</div>
<div class="small text-muted truncate">
The new networking lounges turns results you can measure in just a few clicks.
</div>
</div>
</a><a href="#" class="list-group-item list-group-item-action flex gap-4 items-start"><span class="pt-1 text-warning"><i class="bi bi-star-fill" aria-hidden="true"></i></span>
<div class="grow truncate">
<div class="flex justify-between">
<span class="">Jonah Larsen</span><small class="text-muted ms-2 whitespace-nowrap">13:30</small>
</div>
<div class="small truncate text-muted">
A guide to ticketing
</div>
<div class="small text-muted truncate">
This practical community gives projects moving forward all year round.
</div>
</div>
</a>
</div>19Leaderboard
Ranked people with medal badges, avatars and scores.
- 1
Zoe Mensah908 pts
- 2
Theo Kim654 pts
- 3
Leo Ortega548 pts
- 4
Nora Duarte244 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-8.svg" alt="Zoe Mensah" class="rounded-full shrink-0" width="36" height="36"><span class="grow small font-semibold">Zoe Mensah</span><span class="small">908 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-1.svg" alt="Theo Kim" class="rounded-full shrink-0" width="36" height="36"><span class="grow small font-semibold">Theo Kim</span><span class="small">654 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="Leo Ortega" class="rounded-full shrink-0" width="36" height="36"><span class="grow small font-semibold">Leo Ortega</span><span class="small">548 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="Nora Duarte" class="rounded-full shrink-0" width="36" height="36"><span class="grow small font-semibold">Nora Duarte</span><span class="small">244 pts</span></li>
</ol>20Reorderable list look
Grip handles signal that items can be reordered (wire up drag and drop in your app).
- Recorded sessions1
- Certificates2
- Hands-on workshops3
- Networking lounges4
<ul class="list-group" style="max-width: 420px;">
<li class="list-group-item flex items-center gap-2"><span class="text-muted/70 ca-grip" title="Drag to reorder"><i class="bi bi-grip-vertical" aria-hidden="true"></i></span><span class="grow">Recorded sessions</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-muted/70 ca-grip" title="Drag to reorder"><i class="bi bi-grip-vertical" aria-hidden="true"></i></span><span class="grow">Certificates</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-muted/70 ca-grip" title="Drag to reorder"><i class="bi bi-grip-vertical" aria-hidden="true"></i></span><span class="grow">Hands-on workshops</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-muted/70 ca-grip" title="Drag to reorder"><i class="bi bi-grip-vertical" aria-hidden="true"></i></span><span class="grow">Networking lounges</span><span class="badge bg-surface-2 text-muted">4</span></li>
</ul>