The text-truncate helper shortens long text to a single line and ends it with an ellipsis. It needs a block or inline-block element with a width limit; in flex layouts give the flexible item min-width: 0.
1Block level truncation
A block element with a max width; the dashed outline shows the limit.
Thousands of donors already trust us, and we work hard to keep it that way. We keep things simple, so you can focus on what matters to you.
<p class="text-truncate hp-tt mb-0" style="max-width:18rem">Thousands of donors already trust us, and we work hard to keep it that way. We keep things simple, so you can focus on what matters to you.</p>2Inline-block inside a sentence
Inline elements need d-inline-block plus a max width to truncate.
Last edited by Ethan Mensah and Mason Brennan 15 hours ago.
<p class="mb-0">Last edited by <span class="d-inline-block text-truncate align-bottom hp-tt" style="max-width:8rem">Ethan Mensah and Mason Brennan</span> 15 hours ago.</p>3Inbox preview
Subject and preview text cut to one line in an email list.
- Sofia VargaA day in the life of a volunteer – Our team has done this many times, so you never have to guess. We measure success by how many donors come back and tell their friends.
- Kenji AshfordLooking back at a busy season – Every donation is tax-deductible, and receipts arrive by email instantly. Ninety cents of every dollar goes directly to the projects you support.
- Kai PatelFive things we learned this year – You receive photos and updates showing exactly what your donation achieved. We keep things simple, so you can focus on what matters to you.
<ul class="list-group">
<li class="list-group-item d-flex gap-3"><strong class="flex-shrink-0 small" style="width:7rem">Sofia Varga</strong><span class="text-truncate small"><span class="fw-semibold">A day in the life of a volunteer</span> – Our team has done this many times, so you never have to guess. We measure success by how many donors come back and tell their friends.</span></li>
<li class="list-group-item d-flex gap-3"><strong class="flex-shrink-0 small" style="width:7rem">Kenji Ashford</strong><span class="text-truncate small"><span class="fw-semibold">Looking back at a busy season</span> – Every donation is tax-deductible, and receipts arrive by email instantly. Ninety cents of every dollar goes directly to the projects you support.</span></li>
<li class="list-group-item d-flex gap-3"><strong class="flex-shrink-0 small" style="width:7rem">Kai Patel</strong><span class="text-truncate small"><span class="fw-semibold">Five things we learned this year</span> – You receive photos and updates showing exactly what your donation achieved. We keep things simple, so you can focus on what matters to you.</span></li>
</ul>4Table cell notes
A long note column truncated with text-truncate and a max width on the cell.
| Order | Note | Total |
|---|---|---|
| #PO-1513 | Our annual report is independently audited and published in full. | $178.35 |
| #TX-6512 | Ninety cents of every dollar goes directly to the projects you support. | $249.01 |
| #TX-1069 | Volunteers give their time in schools, shelters and food banks every week. | $295.09 |
<div class="table-responsive">
<table class="table mb-0">
<thead>
<tr>
<th scope="col">Order</th>
<th scope="col">Note</th>
<th scope="col" class="text-end">Total</th>
</tr>
</thead>
<tbody>
<tr>
<td>#PO-1513</td>
<td class="text-truncate" style="max-width:12rem">Our annual report is independently audited and published in full.</td>
<td class="text-end">$178.35</td>
</tr>
<tr>
<td>#TX-6512</td>
<td class="text-truncate" style="max-width:12rem">Ninety cents of every dollar goes directly to the projects you support.</td>
<td class="text-end">$249.01</td>
</tr>
<tr>
<td>#TX-1069</td>
<td class="text-truncate" style="max-width:12rem">Volunteers give their time in schools, shelters and food banks every week.</td>
<td class="text-end">$295.09</td>
</tr>
</tbody>
</table>
</div>5Long file names
File names shorten while the size stays visible at the end.
- our-favourite-tips-for-busy-weeks-final-version-5.docx215 KB
- inside-the-shelter:-from-rescue-to-new-home-final-version-9.docx304 KB
- what-our-donors-asked-us-most-final-version-9.docx614 KB
<ul class="list-unstyled vstack gap-2 mb-0" style="max-width:20rem">
<li class="d-flex align-items-center gap-2"><span class="text-primary"><i class="bi bi-file-earmark-text" aria-hidden="true"></i></span><span class="text-truncate">our-favourite-tips-for-busy-weeks-final-version-5.docx</span><small class="ms-auto text-body-secondary flex-shrink-0">215 KB</small></li>
<li class="d-flex align-items-center gap-2"><span class="text-primary"><i class="bi bi-file-earmark-text" aria-hidden="true"></i></span><span class="text-truncate">inside-the-shelter:-from-rescue-to-new-home-final-version-9.docx</span><small class="ms-auto text-body-secondary flex-shrink-0">304 KB</small></li>
<li class="d-flex align-items-center gap-2"><span class="text-primary"><i class="bi bi-file-earmark-text" aria-hidden="true"></i></span><span class="text-truncate">what-our-donors-asked-us-most-final-version-9.docx</span><small class="ms-auto text-body-secondary flex-shrink-0">614 KB</small></li>
</ul>6Breadcrumb with a long last item
The current page title truncates so the breadcrumb stays on one line.
<nav aria-label="breadcrumb">
<ol class="breadcrumb flex-nowrap mb-0">
<li class="breadcrumb-item"><a href="#">Home</a></li>
<li class="breadcrumb-item"><a href="#">Health</a></li>
<li class="breadcrumb-item active text-truncate" aria-current="page">Companies can match employee donations and double their impact.</li>
</ol>
</nav>7Notification preview
A toast-like card where the message preview stays on one line.
<div class="d-flex align-items-center gap-3 border rounded p-2" style="max-width:24rem">
<span class="fs-4 text-primary"><i class="bi bi-bell-fill" aria-hidden="true"></i></span>
<div class="text-truncate">
<strong class="small d-block text-truncate">Mateo Delgado replied: We measure success by how many donors come back and tell their friends.</strong><small class="text-body-secondary">just now</small>
</div>
</div>8Equal card titles
Truncated titles keep a grid of cards the same height.
How your donations built three new classrooms: A school kit costs less than a cinema ticket and lasts a whole year.
Mar 9, 2026
How to choose the right campaign: Friendly people answer your questions quickly, by phone, chat or email.
Sep 15, 2025
Our yearly impact report, explained: Clear prices, honest advice and no surprises along the way.
May 14, 2026
<div class="row g-3">
<div class="col-md-4">
<div class="card">
<div class="card-body">
<h3 class="h6 text-truncate">How your donations built three new classrooms: A school kit costs less than a cinema ticket and lasts a whole year.</h3>
<p class="small text-body-secondary mb-0">Mar 9, 2026</p>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card">
<div class="card-body">
<h3 class="h6 text-truncate">How to choose the right campaign: Friendly people answer your questions quickly, by phone, chat or email.</h3>
<p class="small text-body-secondary mb-0">Sep 15, 2025</p>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card">
<div class="card-body">
<h3 class="h6 text-truncate">Our yearly impact report, explained: Clear prices, honest advice and no surprises along the way.</h3>
<p class="small text-body-secondary mb-0">May 14, 2026</p>
</div>
</div>
</div>
</div>9Chat list
In a flex row the text column needs min-width: 0 so text-truncate can shrink it.
<div class="list-group">
<a href="#" class="list-group-item list-group-item-action d-flex gap-2 align-items-center"><img src="../assets/img/avatar-7.svg" alt="" width="40" height="40" class="rounded-circle">
<div style="min-width:0" class="flex-grow-1">
<div class="d-flex">
<strong class="small text-truncate">Luna Okafor</strong><small class="ms-auto ps-2 text-body-secondary">15:45</small>
</div>
<div class="small text-body-secondary text-truncate">
Every detail is handled by people who care about getting it right. 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 d-flex gap-2 align-items-center"><img src="../assets/img/avatar-3.svg" alt="" width="40" height="40" class="rounded-circle">
<div style="min-width:0" class="flex-grow-1">
<div class="d-flex">
<strong class="small text-truncate">Diego Kim</strong><small class="ms-auto ps-2 text-body-secondary">10:30</small>
</div>
<div class="small text-body-secondary text-truncate">
Start in minutes and get help from a real person whenever you need it. We have helped more than two hundred thousand people since we started.
</div>
</div>
</a><a href="#" class="list-group-item list-group-item-action d-flex gap-2 align-items-center"><img src="../assets/img/avatar-7.svg" alt="" width="40" height="40" class="rounded-circle">
<div style="min-width:0" class="flex-grow-1">
<div class="d-flex">
<strong class="small text-truncate">Isla Larsen</strong><small class="ms-auto ps-2 text-body-secondary">09:00</small>
</div>
<div class="small text-body-secondary text-truncate">
Leave a gift in your will and help future generations. Thousands of donors already trust us, and we work hard to keep it that way.
</div>
</div>
</a>
</div>10Long web addresses
Page addresses truncate in a link list; the full address is kept in the title attribute.
<ul class="list-unstyled vstack gap-1 mb-0" style="max-width:20rem">
<li><a href="#" class="d-block text-truncate" title="example.com/journey/release/getting-started-with-the-new-dashboard">example.com/release/how-to/getting-started-with-the-new-dashboard</a></li>
<li><a href="#" class="d-block text-truncate" title="example.com/help/articles/how-to-reset-your-password-and-security-keys">example.com/help/articles/how-to-reset-your-password-and-security-keys</a></li>
</ul>11Product grid names
Product names cut to one line under each image in a compact grid.
<div class="row g-2">
<div class="col-6 col-md-3">
<div class="border rounded p-2">
<img src="../assets/img/product-3.svg" alt="" class="img-fluid rounded mb-1">
<div class="small text-truncate">
Meal pack Relief edition
</div>
<strong class="small">$14.00</strong>
</div>
</div>
<div class="col-6 col-md-3">
<div class="border rounded p-2">
<img src="../assets/img/product-7.svg" alt="" class="img-fluid rounded mb-1">
<div class="small text-truncate">
Clean water well Health edition
</div>
<strong class="small">$474.99</strong>
</div>
</div>
<div class="col-6 col-md-3">
<div class="border rounded p-2">
<img src="../assets/img/product-12.svg" alt="" class="img-fluid rounded mb-1">
<div class="small text-truncate">
Library books Education edition
</div>
<strong class="small">$45.00</strong>
</div>
</div>
<div class="col-6 col-md-3">
<div class="border rounded p-2">
<img src="../assets/img/product-4.svg" alt="" class="img-fluid rounded mb-1">
<div class="small text-truncate">
Tree planting Environment edition
</div>
<strong class="small">$9.00</strong>
</div>
</div>
</div>12Truncated chips
Badges with a max width so long labels never break the row.
<div class="d-flex flex-wrap gap-2">
<span class="badge rounded-pill text-bg-light border d-inline-block text-truncate" style="max-width:9rem">A beginner's guide to getting started</span><span class="badge rounded-pill text-bg-light border d-inline-block text-truncate" style="max-width:9rem">Five things we learned this year</span><span class="badge rounded-pill text-bg-light border d-inline-block text-truncate" style="max-width:9rem">Stories from the families we support</span><span class="badge rounded-pill text-bg-light border d-inline-block text-truncate" style="max-width:9rem">Looking back at a busy season</span>
</div>13User menu name
A long account name truncates inside the navbar button.
<nav class="navbar bg-body-tertiary rounded px-3">
<span class="navbar-brand mb-0 h6">Pixelera</span>
<button type="button" class="btn btn-light btn-sm d-flex align-items-center gap-2" style="max-width:12rem"> <img src="../assets/img/avatar-1.svg" alt="" width="24" height="24" class="rounded-circle"><span class="text-truncate">Omar Silva (Operations Manager)</span><i class="bi bi-chevron-down" aria-hidden="true"></i> </button>
</nav>14Why min-width: 0 matters
Left: a flex child without min-width overflows. Right: with min-width: 0 the text truncates.
Without min-width
With min-width: 0
<div class="row g-3">
<div class="col-sm-6">
<p class="small fw-semibold mb-1">Without min-width</p>
<div class="d-flex border rounded p-2 overflow-hidden">
<div class="flex-grow-1">
<div class="text-truncate">
Every donation is tax-deductible, and receipts arrive by email instantly. Clean water wells are built with and maintained by local communities.
</div>
</div>
<span class="badge text-bg-secondary ms-2">New</span>
</div>
</div>
<div class="col-sm-6">
<p class="small fw-semibold mb-1">With min-width: 0</p>
<div class="d-flex border rounded p-2">
<div class="flex-grow-1" style="min-width:0">
<div class="text-truncate">
Local partners know their communities and make sure help arrives where it matters. You receive photos and updates showing exactly what your donation achieved.
</div>
</div>
<span class="badge text-bg-primary ms-2">New</span>
</div>
</div>
</div>15Sidebar menu
Project names in a narrow sidebar stay on one line each.
<nav class="border rounded p-2" style="max-width:14rem" aria-label="Projects">
<ul class="nav flex-column">
<li class="nav-item"><a class="nav-link d-flex gap-2 py-1 px-2" href="#"><i class="bi bi-folder" aria-hidden="true"></i><span class="text-truncate">Disaster response Friendly update simple</span></a></li>
<li class="nav-item"><a class="nav-link d-flex gap-2 py-1 px-2" href="#"><i class="bi bi-folder" aria-hidden="true"></i><span class="text-truncate">Education fund Bright project smart</span></a></li>
<li class="nav-item"><a class="nav-link d-flex gap-2 py-1 px-2" href="#"><i class="bi bi-folder" aria-hidden="true"></i><span class="text-truncate">Clean water Clear journey bright</span></a></li>
<li class="nav-item"><a class="nav-link d-flex gap-2 py-1 px-2" href="#"><i class="bi bi-folder" aria-hidden="true"></i><span class="text-truncate">Volunteer programs Secure routine focused</span></a></li>
</ul>
</nav>16Kanban card titles
Narrow board columns keep task titles tidy with truncation.
<div class="row g-2">
<div class="col-4">
<div class="bg-body-tertiary rounded p-2">
<small class="fw-semibold">To do</small>
<div class="bg-body border rounded p-2 mt-2 small text-truncate">
A day in the life of a volunteer
</div>
<div class="bg-body border rounded p-2 mt-2 small text-truncate">
What happens after a disaster appeal
</div>
</div>
</div>
<div class="col-4">
<div class="bg-body-tertiary rounded p-2">
<small class="fw-semibold">Doing</small>
<div class="bg-body border rounded p-2 mt-2 small text-truncate">
Why we plant trees with the schools we build
</div>
<div class="bg-body border rounded p-2 mt-2 small text-truncate">
The small habits that make a big difference
</div>
</div>
</div>
<div class="col-4">
<div class="bg-body-tertiary rounded p-2">
<small class="fw-semibold">Done</small>
<div class="bg-body border rounded p-2 mt-2 small text-truncate">
What our donors asked us most
</div>
<div class="bg-body border rounded p-2 mt-2 small text-truncate">
Meet the partners behind our water projects
</div>
</div>
</div>
</div>17Order summary address
A long shipping address truncated in a summary line, with an edit link.
<div class="d-flex align-items-center gap-2 border rounded p-2">
<span class="text-body-secondary"><i class="bi bi-truck" aria-hidden="true"></i></span> <span class="text-truncate small">Priya Fischer, 325 Harbour Road, Toronto 48303, Canada</span> <a href="#" class="ms-auto small flex-shrink-0">Change</a>
</div>18Dropdown with a long value
The selected option truncates inside a fixed width dropdown button.
<div class="dropdown">
<button class="btn btn-outline-secondary dropdown-toggle d-inline-flex align-items-center" type="button" id="hp-dd-1242" data-ui-toggle="dropdown" aria-expanded="false" style="max-width:14rem"> <span class="text-truncate">Education fund for donors</span> </button>
<ul class="dropdown-menu" aria-labelledby="hp-dd-1242">
<li><a class="dropdown-item" href="#">Education fund</a></li>
<li><a class="dropdown-item" href="#">Volunteer programs</a></li>
</ul>
</div>19Playlist
Long episode or track titles truncate while the duration stays aligned.
- Your kindness travels further than you think2:20
- Every donation makes a difference3:29
- Join a community that cares4:13
<ol class="list-group list-group-numbered">
<li class="list-group-item d-flex gap-2"><span class="text-truncate">Your kindness travels further than you think</span><small class="ms-auto text-body-secondary">2:20</small></li>
<li class="list-group-item d-flex gap-2"><span class="text-truncate">Every donation makes a difference</span><small class="ms-auto text-body-secondary">3:29</small></li>
<li class="list-group-item d-flex gap-2"><span class="text-truncate">Join a community that cares</span><small class="ms-auto text-body-secondary">4:13</small></li>
</ol>20Full text in a tooltip
Offer the complete text in a tooltip so nothing is lost when it is truncated.
<span class="d-inline-block text-truncate hp-tt" style="max-width:16rem" tabindex="0" data-ui-toggle="tooltip" data-ui-title="We listen first, then build a plan around what you actually need. Monthly gifts let us plan ahead and respond quickly when disaster strikes.">We listen first, then build a plan around what you actually need. Monthly gifts let us plan ahead and respond quickly when disaster strikes.</span>