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.
The new community events guides results you can measure for teams of every size. Our personal training makes you focused on what matters without the usual hassle.
<p class="text-truncate hp-tt mb-0" style="max-width:18rem">The new community events guides results you can measure for teams of every size. Our personal training makes you focused on what matters without the usual hassle.</p>2Inline-block inside a sentence
Inline elements need d-inline-block plus a max width to truncate.
Last edited by Theo Ashford and Zoe Varga 4 days ago.
<p class="mb-0">Last edited by <span class="d-inline-block text-truncate align-bottom hp-tt" style="max-width:8rem">Theo Ashford and Zoe Varga</span> 4 days ago.</p>3Inbox preview
Subject and preview text cut to one line in an email list.
- Luna FischerWhat's new in strength – The new flexible plans lets the whole team on the same page wherever you are. The new modern equipment shows customers coming back with friendly support.
- Tariq HughesWhat's new in hiit – Our group classes gives customers coming back at a fair price. A calm journey lets every detail in view all year round.
- Zoe NovakPlan notes for members – This friendly dashboard brings data easy to understand from the very first day. A powerful idea gives time back in your day at a fair price.
<ul class="list-group">
<li class="list-group-item d-flex gap-3"><strong class="flex-shrink-0 small" style="width:7rem">Luna Fischer</strong><span class="text-truncate small"><span class="fw-semibold">What's new in strength</span> – The new flexible plans lets the whole team on the same page wherever you are. The new modern equipment shows customers coming back with friendly support.</span></li>
<li class="list-group-item d-flex gap-3"><strong class="flex-shrink-0 small" style="width:7rem">Tariq Hughes</strong><span class="text-truncate small"><span class="fw-semibold">What's new in hiit</span> – Our group classes gives customers coming back at a fair price. A calm journey lets every detail in view all year round.</span></li>
<li class="list-group-item d-flex gap-3"><strong class="flex-shrink-0 small" style="width:7rem">Zoe Novak</strong><span class="text-truncate small"><span class="fw-semibold">Plan notes for members</span> – This friendly dashboard brings data easy to understand from the very first day. A powerful idea gives time back in your day at a fair price.</span></li>
</ul>4Table cell notes
A long note column truncated with text-truncate and a max width on the cell.
| Order | Note | Total |
|---|---|---|
| #ORD-5777 | The new flexible plans lets customers coming back for teams of every size. | $117.63 |
| #PO-5682 | This smart release turns customers coming back with friendly support. | $264.78 |
| #PO-1722 | The new progress tracking makes your work organised from the very first day. | $180.94 |
<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>#ORD-5777</td>
<td class="text-truncate" style="max-width:12rem">The new flexible plans lets customers coming back for teams of every size.</td>
<td class="text-end">$117.63</td>
</tr>
<tr>
<td>#PO-5682</td>
<td class="text-truncate" style="max-width:12rem">This smart release turns customers coming back with friendly support.</td>
<td class="text-end">$264.78</td>
</tr>
<tr>
<td>#PO-1722</td>
<td class="text-truncate" style="max-width:12rem">The new progress tracking makes your work organised from the very first day.</td>
<td class="text-end">$180.94</td>
</tr>
</tbody>
</table>
</div>5Long file names
File names shorten while the size stays visible at the end.
- journey-notes-for-members-final-version-8.docx653 KB
- the-simple-idea-checklist-final-version-7.docx377 KB
- 7-lessons-from-our-experience-final-version-2.docx828 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">journey-notes-for-members-final-version-8.docx</span><small class="ms-auto text-body-secondary flex-shrink-0">653 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">the-simple-idea-checklist-final-version-7.docx</span><small class="ms-auto text-body-secondary flex-shrink-0">377 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">7-lessons-from-our-experience-final-version-2.docx</span><small class="ms-auto text-body-secondary flex-shrink-0">828 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="#">Recovery</a></li>
<li class="breadcrumb-item active text-truncate" aria-current="page">This bright update shows results you can measure in just a few clicks.</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">Leo Kim replied: A powerful dashboard shows customers coming back from the very first day.</strong><small class="text-body-secondary">40 min ago</small>
</div>
</div>8Equal card titles
Truncated titles keep a grid of cards the same height.
The calm routine checklist: A honest launch turns data easy to understand for teams of every size.
May 2, 2026
What's new in hiit: A powerful idea shows customers coming back without extra tools.
Oct 4, 2026
6 lessons from our team: Our personal training brings you focused on what matters wherever you are.
Jul 11, 2026
<div class="row g-3">
<div class="col-md-4">
<div class="card">
<div class="card-body">
<h3 class="h6 text-truncate">The calm routine checklist: A honest launch turns data easy to understand for teams of every size.</h3>
<p class="small text-body-secondary mb-0">May 2, 2026</p>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card">
<div class="card-body">
<h3 class="h6 text-truncate">What's new in hiit: A powerful idea shows customers coming back without extra tools.</h3>
<p class="small text-body-secondary mb-0">Oct 4, 2026</p>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card">
<div class="card-body">
<h3 class="h6 text-truncate">6 lessons from our team: Our personal training brings you focused on what matters wherever you are.</h3>
<p class="small text-body-secondary mb-0">Jul 11, 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-2.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">Omar Whitaker</strong><small class="ms-auto ps-2 text-body-secondary">14:15</small>
</div>
<div class="small text-body-secondary text-truncate">
A friendly plan lets time back in your day at a fair price. This smart story gives every detail in view all year round.
</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-6.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">Maya Kowalski</strong><small class="ms-auto ps-2 text-body-secondary">18:15</small>
</div>
<div class="small text-body-secondary text-truncate">
Our personal training turns results you can measure from the very first day. This flexible story guides new ideas to life for teams of every size.
</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">Diego Silva</strong><small class="ms-auto ps-2 text-body-secondary">10:30</small>
</div>
<div class="small text-body-secondary text-truncate">
The new modern equipment brings data easy to understand on any device. The new community events brings new ideas to life for teams of every size.
</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/routine/insights/getting-started-with-the-new-dashboard">example.com/journey/case study/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">
10-class pack Strength edition
</div>
<strong class="small">$348.99</strong>
</div>
</div>
<div class="col-6 col-md-3">
<div class="border rounded p-2">
<img src="../assets/img/product-2.svg" alt="" class="img-fluid rounded mb-1">
<div class="small text-truncate">
Monthly pass Cardio edition
</div>
<strong class="small">$207.00</strong>
</div>
</div>
<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">
Coaching plan Yoga edition
</div>
<strong class="small">$19.50</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">
Day pass Recovery edition
</div>
<strong class="small">$465.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">Plan notes for members</span><span class="badge rounded-pill text-bg-light border d-inline-block text-truncate" style="max-width:9rem">What's new in yoga</span><span class="badge rounded-pill text-bg-light border d-inline-block text-truncate" style="max-width:9rem">A guide to yoga</span><span class="badge rounded-pill text-bg-light border d-inline-block text-truncate" style="max-width:9rem">What's new in cardio</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">Brand name 18</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-12.svg" alt="" width="24" height="24" class="rounded-circle"><span class="text-truncate">Leo Carter (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">
A secure project guides decisions quicker and clearer without extra tools. The new certified coaches helps time back in your day at a fair price.
</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">
Our nutrition plans shows complex tasks into simple steps without the usual hassle. A reliable goal lets every detail in view at a fair price.
</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">Yoga Elegant experience elegant</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">Group classes Powerful routine honest</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">Nutrition plans Smart project fast</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">Yoga Fast community powerful</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 guide to yoga
</div>
<div class="bg-body border rounded p-2 mt-2 small text-truncate">
6 lessons from our journey
</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">
The focused community checklist
</div>
<div class="bg-body border rounded p-2 mt-2 small text-truncate">
What's new in recovery
</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 we rebuilt our project
</div>
<div class="bg-body border rounded p-2 mt-2 small text-truncate">
Journey notes for members
</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">Luna Quinn, 181 Hillcrest Road, Singapore 34025, Singapore</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">Group classes for members</span> </button>
<ul class="dropdown-menu" aria-labelledby="hp-dd-1242">
<li><a class="dropdown-item" href="#">Yoga</a></li>
<li><a class="dropdown-item" href="#">Online coaching</a></li>
</ul>
</div>19Playlist
Long episode or track titles truncate while the duration stays aligned.
- Move more, stress less2:28
- Classes that keep you coming back5:08
- Move more, stress less5:59
<ol class="list-group list-group-numbered">
<li class="list-group-item d-flex gap-2"><span class="text-truncate">Move more, stress less</span><small class="ms-auto text-body-secondary">2:28</small></li>
<li class="list-group-item d-flex gap-2"><span class="text-truncate">Classes that keep you coming back</span><small class="ms-auto text-body-secondary">5:08</small></li>
<li class="list-group-item d-flex gap-2"><span class="text-truncate">Move more, stress less</span><small class="ms-auto text-body-secondary">5:59</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="A simple workflow makes customers coming back wherever you are. A practical idea gives complex tasks into simple steps all year round.">A simple workflow makes customers coming back wherever you are. A practical idea gives complex tasks into simple steps all year round.</span>