Text Truncation
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.
We have helped more than two hundred thousand people since we started. 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">We have helped more than two hundred thousand people since we started. 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 Ella Okafor and Hana Hughes just now.
<p class="mb-0">Last edited by <span class="d-inline-block text-truncate align-bottom hp-tt" style="max-width:8rem">Ella Okafor and Hana Hughes</span> just now.</p>3Inbox preview
Subject and preview text cut to one line in an email list.
- Omar TanakaOur yearly impact report, explained – Thousands of donors already trust us, and we work hard to keep it that way. Companies can match employee donations and double their impact.
- Ruby BrennanThe small habits that make a big difference – We measure success by how many donors come back and tell their friends. Friendly people answer your questions quickly, by phone, chat or email.
- Mason AshfordStories from the families we support – Every detail is handled by people who care about getting it right. Monthly gifts let us plan ahead and respond quickly when disaster strikes.
<ul class="list-group">
<li class="list-group-item d-flex gap-3"><strong class="flex-shrink-0 small" style="width:7rem">Omar Tanaka</strong><span class="text-truncate small"><span class="fw-semibold">Our yearly impact report, explained</span> – Thousands of donors already trust us, and we work hard to keep it that way. Companies can match employee donations and double their impact.</span></li>
<li class="list-group-item d-flex gap-3"><strong class="flex-shrink-0 small" style="width:7rem">Ruby Brennan</strong><span class="text-truncate small"><span class="fw-semibold">The small habits that make a big difference</span> – We measure success by how many donors come back and tell their friends. Friendly people answer your questions quickly, by phone, chat or email.</span></li>
<li class="list-group-item d-flex gap-3"><strong class="flex-shrink-0 small" style="width:7rem">Mason Ashford</strong><span class="text-truncate small"><span class="fw-semibold">Stories from the families we support</span> – Every detail is handled by people who care about getting it right. Monthly gifts let us plan ahead and respond quickly when disaster strikes.</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-2878 | Our annual report is independently audited and published in full. | $298.68 |
| #TX-5434 | Volunteers give their time in schools, shelters and food banks every week. | $166.21 |
| #PO-9832 | Start in minutes and get help from a real person whenever you need it. | $39.13 |
<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-2878</td>
<td class="text-truncate" style="max-width:12rem">Our annual report is independently audited and published in full.</td>
<td class="text-end">$298.68</td>
</tr>
<tr>
<td>#TX-5434</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">$166.21</td>
</tr>
<tr>
<td>#PO-9832</td>
<td class="text-truncate" style="max-width:12rem">Start in minutes and get help from a real person whenever you need it.</td>
<td class="text-end">$39.13</td>
</tr>
</tbody>
</table>
</div>5Long file names
File names shorten while the size stays visible at the end.
- why-monthly-giving-makes-such-a-difference-final-version-4.docx198 KB
- how-to-choose-the-right-campaign-final-version-8.docx657 KB
- ten-ways-to-fundraise-with-friends-final-version-7.docx332 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-fill" aria-hidden="true"></i></span><span class="text-truncate">why-monthly-giving-makes-such-a-difference-final-version-4.docx</span><small class="ms-auto text-body-secondary flex-shrink-0">198 KB</small></li>
<li class="d-flex align-items-center gap-2"><span class="text-primary"><i class="bi bi-file-earmark-text-fill" aria-hidden="true"></i></span><span class="text-truncate">how-to-choose-the-right-campaign-final-version-8.docx</span><small class="ms-auto text-body-secondary flex-shrink-0">657 KB</small></li>
<li class="d-flex align-items-center gap-2"><span class="text-primary"><i class="bi bi-file-earmark-text-fill" aria-hidden="true"></i></span><span class="text-truncate">ten-ways-to-fundraise-with-friends-final-version-7.docx</span><small class="ms-auto text-body-secondary flex-shrink-0">332 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="#">Education</a></li>
<li class="breadcrumb-item active text-truncate" aria-current="page">We have helped more than two hundred thousand people since we started.</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">Chloe Quinn replied: Every detail is handled by people who care about getting it right.</strong><small class="text-body-secondary">6 days ago</small>
</div>
</div>8Equal card titles
Truncated titles keep a grid of cards the same height.
What happens after a disaster appeal: Clear prices, honest advice and no surprises along the way.
Feb 16, 2026
Stories from the families we support: Clean water wells are built with and maintained by local communities.
Sep 8, 2026
Why monthly giving makes such a difference: Our team has done this many times, so you never have to guess.
Apr 26, 2026
<div class="row g-3">
<div class="col-md-4">
<div class="card">
<div class="card-body">
<h3 class="h6 text-truncate">What happens after a disaster appeal: Clear prices, honest advice and no surprises along the way.</h3>
<p class="small text-body-secondary mb-0">Feb 16, 2026</p>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card">
<div class="card-body">
<h3 class="h6 text-truncate">Stories from the families we support: Clean water wells are built with and maintained by local communities.</h3>
<p class="small text-body-secondary mb-0">Sep 8, 2026</p>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card">
<div class="card-body">
<h3 class="h6 text-truncate">Why monthly giving makes such a difference: Our team has done this many times, so you never have to guess.</h3>
<p class="small text-body-secondary mb-0">Apr 26, 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-9.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">Leo Duarte</strong><small class="ms-auto ps-2 text-body-secondary">19:15</small>
</div>
<div class="small text-body-secondary text-truncate">
Local partners know their communities and make sure help arrives where it matters. Every donation is tax-deductible, and receipts arrive by email instantly.
</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-12.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">Ivy Moreau</strong><small class="ms-auto ps-2 text-body-secondary">12:45</small>
</div>
<div class="small text-body-secondary text-truncate">
Ninety cents of every dollar goes directly to the projects you support. Our annual report is independently audited and published in full.
</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-12.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">Arjun Whitaker</strong><small class="ms-auto ps-2 text-body-secondary">10:15</small>
</div>
<div class="small text-body-secondary text-truncate">
We keep things simple, so you can focus on what matters to you. Monthly gifts let us plan ahead and respond quickly when disaster strikes.
</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/tutorial/getting-started-with-the-new-dashboard">example.com/process/update/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-1.svg" alt="" class="img-fluid rounded mb-1">
<div class="small text-truncate">
Monthly gift Relief edition
</div>
<strong class="small">$25.99</strong>
</div>
</div>
<div class="col-6 col-md-3">
<div class="border rounded p-2">
<img src="../assets/img/product-11.svg" alt="" class="img-fluid rounded mb-1">
<div class="small text-truncate">
Solar lamp Environment edition
</div>
<strong class="small">$18.99</strong>
</div>
</div>
<div class="col-6 col-md-3">
<div class="border rounded p-2">
<img src="../assets/img/product-10.svg" alt="" class="img-fluid rounded mb-1">
<div class="small text-truncate">
Health kit Health edition
</div>
<strong class="small">$34.00</strong>
</div>
</div>
<div class="col-6 col-md-3">
<div class="border rounded p-2">
<img src="../assets/img/product-9.svg" alt="" class="img-fluid rounded mb-1">
<div class="small text-truncate">
Vet care Animals edition
</div>
<strong class="small">$62.99</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">A day in the life of a volunteer</span><span class="badge rounded-pill text-bg-light border d-inline-block text-truncate" style="max-width:9rem">The small habits that make a big difference</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>
</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">Sageio</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-3.svg" alt="" width="24" height="24" class="rounded-circle"><span class="text-truncate">Mateo Mensah (Project 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">
Thousands of donors already trust us, and we work hard to keep it that way. A school kit costs less than a cinema ticket and lasts a whole year.
</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">
Companies can match employee donations and double their impact. We measure success by how many donors come back and tell their friends.
</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-fill" aria-hidden="true"></i><span class="text-truncate">Volunteer programs Reliable dashboard focused</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-fill" aria-hidden="true"></i><span class="text-truncate">Disaster response Reliable journey practical</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-fill" aria-hidden="true"></i><span class="text-truncate">Animal rescue Honest team 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-fill" aria-hidden="true"></i><span class="text-truncate">Clean water Modern idea 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">
How your donations built three new classrooms
</div>
<div class="bg-body border rounded p-2 mt-2 small text-truncate">
Why we plant trees with the schools we build
</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">
Meet the partners behind our water projects
</div>
<div class="bg-body border rounded p-2 mt-2 small text-truncate">
Ten ways to fundraise with friends
</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">
How to choose the right campaign
</div>
<div class="bg-body border rounded p-2 mt-2 small text-truncate">
Our favourite tips for busy weeks
</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">Elena Ortega, 235 Harbour Road, Prague 12715, Czechia</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-bs-toggle="dropdown" aria-expanded="false" style="max-width:14rem"> <span class="text-truncate">Clean water for donors</span> </button>
<ul class="dropdown-menu" aria-labelledby="hp-dd-1242">
<li><a class="dropdown-item" href="#">Food relief</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.
- Hope starts with you5:58
- Small acts, big impact3:14
- Every donation makes a difference3:53
<ol class="list-group list-group-numbered">
<li class="list-group-item d-flex gap-2"><span class="text-truncate">Hope starts with you</span><small class="ms-auto text-body-secondary">5:58</small></li>
<li class="list-group-item d-flex gap-2"><span class="text-truncate">Small acts, big impact</span><small class="ms-auto text-body-secondary">3:14</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:53</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-bs-toggle="tooltip" data-bs-title="You receive photos and updates showing exactly what your donation achieved. We listen first, then build a plan around what you actually need.">You receive photos and updates showing exactly what your donation achieved. We listen first, then build a plan around what you actually need.</span>