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.
- Ticketing
- Venue booking
- Networking app
- Speaker management
<ul class="list-group" style="max-width: 360px;">
<li class="list-group-item">Ticketing</li>
<li class="list-group-item">Venue booking</li>
<li class="list-group-item">Networking app</li>
<li class="list-group-item">Speaker management</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.
- World-class speakers
- Hands-on workshops
- Mobile agenda
<ul class="list-group list-group-flush border-t border-b">
<li class="list-group-item">World-class speakers</li>
<li class="list-group-item">Hands-on workshops</li>
<li class="list-group-item">Mobile agenda</li>
</ul>5Numbered list
list-group-numbered on an ol adds counters, here with extra content per item.
- 15Our favourite tips for busy weeksOct 10, 2026
- 4What makes a panel worth watchingSep 23, 2025
- 4Highlights from last year's workshopsSep 11, 2026
<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">Our favourite tips for busy weeks</div><span class="small text-muted">Oct 10, 2026</span></div><span class="badge text-bg-primary rounded-full">15</span></li>
<li class="list-group-item flex justify-between items-start"><div class="ms-2 me-auto"><div class="font-semibold">What makes a panel worth watching</div><span class="small text-muted">Sep 23, 2025</span></div><span class="badge text-bg-primary rounded-full">4</span></li>
<li class="list-group-item flex justify-between items-start"><div class="ms-2 me-auto"><div class="font-semibold">Highlights from last year's workshops</div><span class="small text-muted">Sep 11, 2026</span></div><span class="badge text-bg-primary rounded-full">4</span></li>
</ol>6Horizontal list
list-group-horizontal lays items in a row; -md makes it responsive.
- 18.2kVisitors
- 154Sign-ups
- 7%Conversion
<ul class="list-group list-group-horizontal-md">
<li class="list-group-item flex-auto text-center"><div class="font-bold">18.2k</div><small class="text-muted">Visitors</small></li>
<li class="list-group-item flex-auto text-center"><div class="font-bold">154</div><small class="text-muted">Sign-ups</small></li>
<li class="list-group-item flex-auto text-center"><div class="font-bold">7%</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.
- Projects27
- Tasks79
- Issues7
<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">27</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">79</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">7</span></li>
</ul>9Custom content
Headings, text and meta inside each item, like a list of articles.
What our attendees asked us most
6 days agoWorkshops are limited to thirty seats, so everyone gets hands-on time.
Chloe OkaforAnnouncing our first keynote speakers
26 min agoThousands of attendees already trust us, and we work hard to keep it that way.
Lucas HaddadTen talks you should not miss this year
22 hours agoWe keep things simple, so you can focus on what matters to you.
Owen Kowalski<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 our attendees asked us most</h6>
<small>6 days ago</small>
</div>
<p class="mb-1 small">Workshops are limited to thirty seats, so everyone gets hands-on time.</p>
<small class="">Chloe Okafor</small></a><a href="#" class="list-group-item list-group-item-action">
<div class="flex w-full justify-between">
<h6 class="mb-1">Announcing our first keynote speakers</h6>
<small>26 min ago</small>
</div>
<p class="mb-1 small">Thousands of attendees already trust us, and we work hard to keep it that way.</p>
<small class="text-muted">Lucas Haddad</small></a><a href="#" class="list-group-item list-group-item-action">
<div class="flex w-full justify-between">
<h6 class="mb-1">Ten talks you should not miss this year</h6>
<small>22 hours ago</small>
</div>
<p class="mb-1 small">We keep things simple, so you can focus on what matters to you.</p>
<small class="text-muted">Owen Kowalski</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">Elegant dashboard simple</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">Simple routine 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">Bright plan 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">Fast dashboard fast</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.
Group tickets include a private meeting room for your team.
Two-step verification is on.
Our team has done this many times, so you never have to guess.
<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">Group tickets include a private meeting room for your team.</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 team has done this many times, so you never have to guess.</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-7.svg" alt="Priya Brennan" class="rounded-full shrink-0" width="40" height="40">
<div class="grow">
<div class="flex justify-between">
<strong class="small">Priya Brennan</strong><small class="text-muted whitespace-nowrap ms-2">just now</small>
</div>
<div class="small text-muted">
More than eighty speakers share what they have learned the hard way.
</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="Arjun Fischer" class="rounded-full shrink-0" width="40" height="40">
<div class="grow">
<div class="flex justify-between">
<strong class="small">Arjun Fischer</strong><small class="text-muted whitespace-nowrap ms-2">yesterday</small>
</div>
<div class="small text-muted">
We keep things simple, so you can focus on what matters to you.
</div>
</div>
</a><a href="#" class="list-group-item list-group-item-action flex gap-4 py-4"><img src="../assets/img/avatar-9.svg" alt="Mateo Ortega" class="rounded-full shrink-0" width="40" height="40">
<div class="grow">
<div class="flex justify-between">
<strong class="small">Mateo Ortega</strong><small class="text-muted whitespace-nowrap ms-2">3 hours ago</small>
</div>
<div class="small text-muted">
Virtual passes let you join the main stage live from anywhere.
</div>
</div>
</a>
</div>14File list
File type icons, sizes and a download button per file.
- looking-back-at-a-busy-season.pdf295 KB · Apr 22, 2026
- a-beginner-s-guide-to-getting-started.png710 KB · May 26, 2026
- what-we-learned-from-last-year-s-feedback.xlsx276 KB · Jan 14, 2026
- highlights-from-last-year-s-workshops.zip105 KB · Sep 22, 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-emphasis"><i class="bi bi-file-earmark-pdf-fill" aria-hidden="true"></i></span><div class="grow truncate"><div class="small font-semibold truncate">looking-back-at-a-busy-season.pdf</div><div class="small text-muted">295 KB · Apr 22, 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-emphasis"><i class="bi bi-file-earmark-image-fill" aria-hidden="true"></i></span><div class="grow truncate"><div class="small font-semibold truncate">a-beginner-s-guide-to-getting-started.png</div><div class="small text-muted">710 KB · May 26, 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-ink"><i class="bi bi-file-earmark-spreadsheet-fill" aria-hidden="true"></i></span><div class="grow truncate"><div class="small font-semibold truncate">what-we-learned-from-last-year-s-feedback.xlsx</div><div class="small text-muted">276 KB · Jan 14, 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-warning-emphasis"><i class="bi bi-file-earmark-zip-fill" aria-hidden="true"></i></span><div class="grow truncate"><div class="small font-semibold truncate">highlights-from-last-year-s-workshops.zip</div><div class="small text-muted">105 KB · Sep 22, 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.
- Mia TanakaQA Engineer
- Sofia DelgadoQA Engineer
- Diego CarterData Analyst
<ul class="list-group" style="max-width: 480px;">
<li class="list-group-item flex items-center gap-4"><img src="../assets/img/avatar-8.svg" alt="Mia Tanaka" class="rounded-full shrink-0" width="40" height="40"><div class="grow"><div class="font-semibold small">Mia Tanaka</div><div class="small text-muted">QA Engineer</div></div><div class="btn-group btn-group-sm" role="group" aria-label="Contact Mia"><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-7.svg" alt="Sofia Delgado" class="rounded-full shrink-0" width="40" height="40"><div class="grow"><div class="font-semibold small">Sofia Delgado</div><div class="small text-muted">QA Engineer</div></div><div class="btn-group btn-group-sm" role="group" aria-label="Contact Sofia"><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-10.svg" alt="Diego Carter" class="rounded-full shrink-0" width="40" height="40"><div class="grow"><div class="font-semibold small">Diego Carter</div><div class="small text-muted">Data Analyst</div></div><div class="btn-group btn-group-sm" role="group" aria-label="Contact Diego"><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-ink"><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-ink"><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-ink"><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.
- Simple project100%
- Smart community27%
- Bright plan28%
<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">Simple project</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">Smart community</span><span class="text-muted">27%</span></div><div class="progress" role="progressbar" aria-label="Task progress" aria-valuenow="27" aria-valuemin="0" aria-valuemax="100" style="height: 6px;"><div class="progress-bar bg-warning" style="width: 27%;"></div></div></li>
<li class="list-group-item"><div class="flex justify-between small mb-1"><span class="font-semibold">Bright plan</span><span class="text-muted">28%</span></div><div class="progress" role="progressbar" aria-label="Task progress" aria-valuenow="28" aria-valuemin="0" aria-valuemax="100" style="height: 6px;"><div class="progress-bar bg-warning" style="width: 28%;"></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">Finn Hughes</span><small class="text-muted ms-2 whitespace-nowrap">13:30</small>
</div>
<div class="small truncate font-semibold">
The small habits that make a big difference
</div>
<div class="small text-muted truncate">
Workshops are limited to thirty seats, so everyone gets hands-on time.
</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-fill" aria-hidden="true"></i></span>
<div class="grow truncate">
<div class="flex justify-between">
<span class="font-bold">Lea Novak</span><small class="text-muted ms-2 whitespace-nowrap">11:15</small>
</div>
<div class="small truncate font-semibold">
Behind the scenes: building the stage
</div>
<div class="small text-muted truncate">
Early bird tickets save you up to forty percent until the end of the month.
</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-fill" aria-hidden="true"></i></span>
<div class="grow truncate">
<div class="flex justify-between">
<span class="">Kenji Alvarez</span><small class="text-muted ms-2 whitespace-nowrap">07:45</small>
</div>
<div class="small truncate text-muted">
How to pitch a talk that gets accepted
</div>
<div class="small text-muted truncate">
Every detail is handled by people who care about getting it right.
</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-fill" aria-hidden="true"></i></span>
<div class="grow truncate">
<div class="flex justify-between">
<span class="">Tariq Patel</span><small class="text-muted ms-2 whitespace-nowrap">15:15</small>
</div>
<div class="small truncate text-muted">
Joining online: how the virtual pass works
</div>
<div class="small text-muted truncate">
Clear prices, honest advice and no surprises along the way.
</div>
</div>
</a>
</div>19Leaderboard
Ranked people with medal badges, avatars and scores.
- 1
Ella Nguyen960 pts
- 2
Ava Larsen879 pts
- 3
Freya Moreau576 pts
- 4
Luna Sato270 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-3.svg" alt="Ella Nguyen" class="rounded-full shrink-0" width="36" height="36"><span class="grow small font-semibold">Ella Nguyen</span><span class="small">960 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-3.svg" alt="Ava Larsen" class="rounded-full shrink-0" width="36" height="36"><span class="grow small font-semibold">Ava Larsen</span><span class="small">879 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-3.svg" alt="Freya Moreau" class="rounded-full shrink-0" width="36" height="36"><span class="grow small font-semibold">Freya Moreau</span><span class="small">576 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-10.svg" alt="Luna Sato" class="rounded-full shrink-0" width="36" height="36"><span class="grow small font-semibold">Luna Sato</span><span class="small">270 pts</span></li>
</ol>20Reorderable list look
Grip handles signal that items can be reordered (wire up drag and drop in your app).
- Networking lounges1
- Recorded sessions2
- World-class speakers3
- Mobile agenda4
<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">Networking lounges</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">Recorded sessions</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">World-class speakers</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">Mobile agenda</span><span class="badge bg-surface-2 text-muted">4</span></li>
</ul>