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.
- Secure checkout
- 30-day returns
- Loyalty rewards
- Live order tracking
<ul class="list-group" style="max-width: 360px;">
<li class="list-group-item">Secure checkout</li>
<li class="list-group-item">30-day returns</li>
<li class="list-group-item">Loyalty rewards</li>
<li class="list-group-item">Live order tracking</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.
- Member prices
- Secure payments
- Sustainable materials
<ul class="list-group list-group-flush border-t border-b">
<li class="list-group-item">Member prices</li>
<li class="list-group-item">Secure payments</li>
<li class="list-group-item">Sustainable materials</li>
</ul>5Numbered list
list-group-numbered on an ol adds counters, here with extra content per item.
- 15Five pieces for a capsule wardrobeDec 7, 2025
- 13Five things we learned this yearJul 29, 2026
- 24The small habits that make a big differenceSep 27, 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">Five pieces for a capsule wardrobe</div><span class="small text-muted">Dec 7, 2025</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">Five things we learned this year</div><span class="small text-muted">Jul 29, 2026</span></div><span class="badge text-bg-primary rounded-full">13</span></li>
<li class="list-group-item flex justify-between items-start"><div class="ms-2 me-auto"><div class="font-semibold">The small habits that make a big difference</div><span class="small text-muted">Sep 27, 2026</span></div><span class="badge text-bg-primary rounded-full">24</span></li>
</ol>6Horizontal list
list-group-horizontal lays items in a row; -md makes it responsive.
- 61.8kVisitors
- 457Sign-ups
- 70%Conversion
<ul class="list-group list-group-horizontal-md">
<li class="list-group-item flex-auto text-center"><div class="font-bold">61.8k</div><small class="text-muted">Visitors</small></li>
<li class="list-group-item flex-auto text-center"><div class="font-bold">457</div><small class="text-muted">Sign-ups</small></li>
<li class="list-group-item flex-auto text-center"><div class="font-bold">70%</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.
- Projects26
- Tasks65
- Issues2
<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">26</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">65</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">2</span></li>
</ul>9Custom content
Headings, text and meta inside each item, like a list of articles.
What to pack for a rainy weekend outdoors
yesterdayFriendly people answer your questions quickly, by phone, chat or email.
Freya DuarteLooking back at a busy season
18 hours agoThousands of five-star reviews from customers who came back for more.
Owen PatelOur guide to gifts under $50
7 hours agoThousands of shoppers already trust us, and we work hard to keep it that way.
Hana Mensah<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 pack for a rainy weekend outdoors</h6>
<small>yesterday</small>
</div>
<p class="mb-1 small">Friendly people answer your questions quickly, by phone, chat or email.</p>
<small class="">Freya Duarte</small></a><a href="#" class="list-group-item list-group-item-action">
<div class="flex w-full justify-between">
<h6 class="mb-1">Looking back at a busy season</h6>
<small>18 hours ago</small>
</div>
<p class="mb-1 small">Thousands of five-star reviews from customers who came back for more.</p>
<small class="text-muted">Owen Patel</small></a><a href="#" class="list-group-item list-group-item-action">
<div class="flex w-full justify-between">
<h6 class="mb-1">Our guide to gifts under $50</h6>
<small>7 hours ago</small>
</div>
<p class="mb-1 small">Thousands of shoppers already trust us, and we work hard to keep it that way.</p>
<small class="text-muted">Hana Mensah</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">Bright story flexible</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 process elegant</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">Reliable process bright</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">Flexible project friendly</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.
Not sure about the size? Our fit guide and live chat help you choose.
Two-step verification is on.
Pay securely with card, wallet or in three interest-free instalments.
<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">Not sure about the size? Our fit guide and live chat help you choose.</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">Pay securely with card, wallet or in three interest-free instalments.</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-10.svg" alt="Lucas Lindqvist" class="rounded-full shrink-0" width="40" height="40">
<div class="grow">
<div class="flex justify-between">
<strong class="small">Lucas Lindqvist</strong><small class="text-muted whitespace-nowrap ms-2">2 hours ago</small>
</div>
<div class="small text-muted">
We measure success by how many shoppers come back and tell their friends.
</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-5.svg" alt="Liam Fischer" class="rounded-full shrink-0" width="40" height="40">
<div class="grow">
<div class="flex justify-between">
<strong class="small">Liam Fischer</strong><small class="text-muted whitespace-nowrap ms-2">7 hours ago</small>
</div>
<div class="small text-muted">
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 py-4"><img src="../assets/img/avatar-8.svg" alt="Priya Nguyen" class="rounded-full shrink-0" width="40" height="40">
<div class="grow">
<div class="flex justify-between">
<strong class="small">Priya Nguyen</strong><small class="text-muted whitespace-nowrap ms-2">just now</small>
</div>
<div class="small text-muted">
Thousands of five-star reviews from customers who came back for more.
</div>
</div>
</a>
</div>14File list
File type icons, sizes and a download button per file.
- meet-the-makers-behind-our-ceramics.pdf77 KB · Jan 5, 2026
- what-our-shoppers-asked-us-most.png190 KB · Jul 4, 2026
- how-we-choose-sustainable-materials.xlsx358 KB · Nov 21, 2025
- what-our-shoppers-asked-us-most.zip114 KB · Mar 20, 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">meet-the-makers-behind-our-ceramics.pdf</div><div class="small text-muted">77 KB · Jan 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-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">what-our-shoppers-asked-us-most.png</div><div class="small text-muted">190 KB · Jul 4, 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">how-we-choose-sustainable-materials.xlsx</div><div class="small text-muted">358 KB · Nov 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-emphasis"><i class="bi bi-file-earmark-zip-fill" aria-hidden="true"></i></span><div class="grow truncate"><div class="small font-semibold truncate">what-our-shoppers-asked-us-most.zip</div><div class="small text-muted">114 KB · Mar 20, 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.
- Zoe AlvarezContent Writer
- Kai AshfordArt Director
- Arjun LarsenQA Engineer
<ul class="list-group" style="max-width: 480px;">
<li class="list-group-item flex items-center gap-4"><img src="../assets/img/avatar-6.svg" alt="Zoe Alvarez" class="rounded-full shrink-0" width="40" height="40"><div class="grow"><div class="font-semibold small">Zoe Alvarez</div><div class="small text-muted">Content Writer</div></div><div class="btn-group btn-group-sm" role="group" aria-label="Contact Zoe"><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-2.svg" alt="Kai Ashford" class="rounded-full shrink-0" width="40" height="40"><div class="grow"><div class="font-semibold small">Kai Ashford</div><div class="small text-muted">Art Director</div></div><div class="btn-group btn-group-sm" role="group" aria-label="Contact Kai"><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="Arjun Larsen" class="rounded-full shrink-0" width="40" height="40"><div class="grow"><div class="font-semibold small">Arjun Larsen</div><div class="small text-muted">QA Engineer</div></div><div class="btn-group btn-group-sm" role="group" aria-label="Contact Arjun"><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.
- Flexible experience100%
- Calm team45%
- Focused story66%
<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">Flexible experience</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">Calm team</span><span class="text-muted">45%</span></div><div class="progress" role="progressbar" aria-label="Task progress" aria-valuenow="45" aria-valuemin="0" aria-valuemax="100" style="height: 6px;"><div class="progress-bar bg-warning" style="width: 45%;"></div></div></li>
<li class="list-group-item"><div class="flex justify-between small mb-1"><span class="font-semibold">Focused story</span><span class="text-muted">66%</span></div><div class="progress" role="progressbar" aria-label="Task progress" aria-valuenow="66" aria-valuemin="0" aria-valuemax="100" style="height: 6px;"><div class="progress-bar bg-primary" style="width: 66%;"></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">Mia Haddad</span><small class="text-muted ms-2 whitespace-nowrap">10:45</small>
</div>
<div class="small truncate font-semibold">
Five pieces for a capsule wardrobe
</div>
<div class="small text-muted truncate">
New pieces arrive every month, and the best ones sell out fast.
</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">Mateo Quinn</span><small class="text-muted ms-2 whitespace-nowrap">20:30</small>
</div>
<div class="small truncate font-semibold">
A three-step skincare routine that works
</div>
<div class="small text-muted truncate">
Our team has done this many times, so you never have to guess.
</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="">Felix Harlow</span><small class="text-muted ms-2 whitespace-nowrap">12:45</small>
</div>
<div class="small truncate text-muted">
How to care for linen so it lasts for years
</div>
<div class="small text-muted truncate">
Each product is checked by hand before it goes into the box.
</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="">Omar Brennan</span><small class="text-muted ms-2 whitespace-nowrap">20:15</small>
</div>
<div class="small truncate text-muted">
How to choose the right product
</div>
<div class="small text-muted truncate">
Friendly people answer your questions quickly, by phone, chat or email.
</div>
</div>
</a>
</div>19Leaderboard
Ranked people with medal badges, avatars and scores.
- 1
Finn Morgan1128 pts
- 2
Amara Silva621 pts
- 3
Kenji Rossi540 pts
- 4
Elena Sato284 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="Finn Morgan" class="rounded-full shrink-0" width="36" height="36"><span class="grow small font-semibold">Finn Morgan</span><span class="small">1128 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-9.svg" alt="Amara Silva" class="rounded-full shrink-0" width="36" height="36"><span class="grow small font-semibold">Amara Silva</span><span class="small">621 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="Kenji Rossi" class="rounded-full shrink-0" width="36" height="36"><span class="grow small font-semibold">Kenji Rossi</span><span class="small">540 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="Elena Sato" class="rounded-full shrink-0" width="36" height="36"><span class="grow small font-semibold">Elena Sato</span><span class="small">284 pts</span></li>
</ol>20Reorderable list look
Grip handles signal that items can be reordered (wire up drag and drop in your app).
- Carbon-neutral delivery1
- Sustainable materials2
- Secure payments3
- Member prices4
<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">Carbon-neutral delivery</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">Sustainable materials</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">Secure payments</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">Member prices</span><span class="badge bg-surface-2 text-muted">4</span></li>
</ul>