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 keep things simple, so you can focus on what matters to you. We measure success by how many attendees come back and tell their friends.
<p class="truncate hp-tt mb-0" style="max-width:18rem">We keep things simple, so you can focus on what matters to you. We measure success by how many attendees come back and tell their friends.</p>2Inline-block inside a sentence
Inline elements need d-inline-block plus a max width to truncate.
Last edited by Theo Hughes and Kenji Haddad just now.
<p class="mb-0">Last edited by <span class="inline-block truncate align-bottom hp-tt" style="max-width:8rem">Theo Hughes and Kenji Haddad</span> just now.</p>3Inbox preview
Subject and preview text cut to one line in an email list.
- Chloe PatelA guide to the city for visiting attendees – The venue is a short walk from the station and fully accessible. The networking app helps you meet the right people before you arrive.
- Finn AlvarezHow to pitch a talk that gets accepted – Virtual passes let you join the main stage live from anywhere. Group tickets include a private meeting room for your team.
- Jonah KowalskiJoining online: how the virtual pass works – Thousands of attendees already trust us, and we work hard to keep it that way. Clear prices, honest advice and no surprises along the way.
<ul class="list-group">
<li class="list-group-item flex gap-4"><strong class="shrink-0 small" style="width:7rem">Chloe Patel</strong><span class="truncate small"><span class="font-semibold">A guide to the city for visiting attendees</span> – The venue is a short walk from the station and fully accessible. The networking app helps you meet the right people before you arrive.</span></li>
<li class="list-group-item flex gap-4"><strong class="shrink-0 small" style="width:7rem">Finn Alvarez</strong><span class="truncate small"><span class="font-semibold">How to pitch a talk that gets accepted</span> – Virtual passes let you join the main stage live from anywhere. Group tickets include a private meeting room for your team.</span></li>
<li class="list-group-item flex gap-4"><strong class="shrink-0 small" style="width:7rem">Jonah Kowalski</strong><span class="truncate small"><span class="font-semibold">Joining online: how the virtual pass works</span> – Thousands of attendees already trust us, and we work hard to keep it that way. Clear prices, honest advice and no surprises along the way.</span></li>
</ul>4Table cell notes
A long note column truncated with text-truncate and a max width on the cell.
| Order | Note | Total |
|---|---|---|
| #TX-8751 | Friendly people answer your questions quickly, by phone, chat or email. | $180.72 |
| #INV-3639 | We listen first, then build a plan around what you actually need. | $182.55 |
| #INV-8875 | Start in minutes and get help from a real person whenever you need it. | $161.45 |
<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>#TX-8751</td>
<td class="truncate" style="max-width:12rem">Friendly people answer your questions quickly, by phone, chat or email.</td>
<td class="text-end">$180.72</td>
</tr>
<tr>
<td>#INV-3639</td>
<td class="truncate" style="max-width:12rem">We listen first, then build a plan around what you actually need.</td>
<td class="text-end">$182.55</td>
</tr>
<tr>
<td>#INV-8875</td>
<td class="truncate" style="max-width:12rem">Start in minutes and get help from a real person whenever you need it.</td>
<td class="text-end">$161.45</td>
</tr>
</tbody>
</table>
</div>5Long file names
File names shorten while the size stays visible at the end.
- ten-talks-you-should-not-miss-this-year-final-version-7.docx47 KB
- how-to-get-the-most-out-of-a-conference-final-version-4.docx234 KB
- announcing-our-first-keynote-speakers-final-version-8.docx634 KB
<ul class="list-unstyled vstack gap-2 mb-0" style="max-width:20rem">
<li class="flex items-center gap-2"><span class="text-primary-ink"><i class="bi bi-file-earmark-text-fill" aria-hidden="true"></i></span><span class="truncate">ten-talks-you-should-not-miss-this-year-final-version-7.docx</span><small class="ms-auto text-muted shrink-0">47 KB</small></li>
<li class="flex items-center gap-2"><span class="text-primary-ink"><i class="bi bi-file-earmark-text-fill" aria-hidden="true"></i></span><span class="truncate">how-to-get-the-most-out-of-a-conference-final-version-4.docx</span><small class="ms-auto text-muted shrink-0">234 KB</small></li>
<li class="flex items-center gap-2"><span class="text-primary-ink"><i class="bi bi-file-earmark-text-fill" aria-hidden="true"></i></span><span class="truncate">announcing-our-first-keynote-speakers-final-version-8.docx</span><small class="ms-auto text-muted shrink-0">634 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="#">Keynote</a></li>
<li class="breadcrumb-item active truncate" aria-current="page">Our team has done this many times, so you never have to guess.</li>
</ol>
</nav>7Notification preview
A toast-like card where the message preview stays on one line.
<div class="flex items-center gap-4 border rounded-md p-2" style="max-width:24rem">
<span class="text-xl text-primary-ink"><i class="bi bi-bell-fill" aria-hidden="true"></i></span>
<div class="truncate">
<strong class="small block truncate">Tariq Carter replied: Our evening party is the best place to turn talks into friendships.</strong><small class="text-muted">yesterday</small>
</div>
</div>8Equal card titles
Truncated titles keep a grid of cards the same height.
What makes a panel worth watching: Three days of keynotes, hands-on workshops and evening meetups.
May 14, 2026
How to get the most out of a conference: Every detail is handled by people who care about getting it right.
Nov 6, 2025
Joining online: how the virtual pass works: Group tickets include a private meeting room for your team.
Jan 7, 2026
<div class="row g-3">
<div class="col-md-4">
<div class="card">
<div class="card-body">
<h3 class="h6 truncate">What makes a panel worth watching: Three days of keynotes, hands-on workshops and evening meetups.</h3>
<p class="small text-muted mb-0">May 14, 2026</p>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card">
<div class="card-body">
<h3 class="h6 truncate">How to get the most out of a conference: Every detail is handled by people who care about getting it right.</h3>
<p class="small text-muted mb-0">Nov 6, 2025</p>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card">
<div class="card-body">
<h3 class="h6 truncate">Joining online: how the virtual pass works: Group tickets include a private meeting room for your team.</h3>
<p class="small text-muted mb-0">Jan 7, 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 flex gap-2 items-center"><img src="../assets/img/avatar-9.svg" alt="" width="40" height="40" class="rounded-full">
<div style="min-width:0" class="grow">
<div class="flex">
<strong class="small truncate">Omar Sato</strong><small class="ms-auto ps-2 text-muted">10:15</small>
</div>
<div class="small text-muted truncate">
Thousands of attendees already trust us, and we work hard to keep it that way. Sponsors meet decision-makers in a relaxed, friendly setting.
</div>
</div>
</a><a href="#" class="list-group-item list-group-item-action flex gap-2 items-center"><img src="../assets/img/avatar-2.svg" alt="" width="40" height="40" class="rounded-full">
<div style="min-width:0" class="grow">
<div class="flex">
<strong class="small truncate">Noah Morgan</strong><small class="ms-auto ps-2 text-muted">20:15</small>
</div>
<div class="small text-muted truncate">
Every session is recorded, so you can catch up on anything you missed. The venue is a short walk from the station and fully accessible.
</div>
</div>
</a><a href="#" class="list-group-item list-group-item-action flex gap-2 items-center"><img src="../assets/img/avatar-1.svg" alt="" width="40" height="40" class="rounded-full">
<div style="min-width:0" class="grow">
<div class="flex">
<strong class="small truncate">Isla Ashford</strong><small class="ms-auto ps-2 text-muted">09:15</small>
</div>
<div class="small text-muted truncate">
We listen first, then build a plan around what you actually need. The networking app helps you meet the right people before you arrive.
</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="block truncate" title="example.com/update/community/getting-started-with-the-new-dashboard">example.com/process/community/getting-started-with-the-new-dashboard</a></li>
<li><a href="#" class="block 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-md p-2">
<img src="../assets/img/product-11.svg" alt="" class="img-fluid rounded-md mb-1">
<div class="small truncate">
Panel day ticket Panel edition
</div>
<strong class="small">$199.00</strong>
</div>
</div>
<div class="col-6 col-md-3">
<div class="border rounded-md p-2">
<img src="../assets/img/product-6.svg" alt="" class="img-fluid rounded-md mb-1">
<div class="small truncate">
Group bundle Panel edition
</div>
<strong class="small">$1,900</strong>
</div>
</div>
<div class="col-6 col-md-3">
<div class="border rounded-md p-2">
<img src="../assets/img/product-1.svg" alt="" class="img-fluid rounded-md mb-1">
<div class="small truncate">
Early bird pass Keynote edition
</div>
<strong class="small">$275.00</strong>
</div>
</div>
<div class="col-6 col-md-3">
<div class="border rounded-md p-2">
<img src="../assets/img/product-9.svg" alt="" class="img-fluid rounded-md mb-1">
<div class="small truncate">
Masterclass Workshop edition
</div>
<strong class="small">$271.00</strong>
</div>
</div>
</div>12Truncated chips
Badges with a max width so long labels never break the row.
<div class="flex flex-wrap gap-2">
<span class="badge rounded-full text-bg-light border inline-block truncate" style="max-width:9rem">A guide to the city for visiting attendees</span><span class="badge rounded-full text-bg-light border inline-block truncate" style="max-width:9rem">Our favourite tips for busy weeks</span><span class="badge rounded-full text-bg-light border inline-block truncate" style="max-width:9rem">Five things we learned this year</span><span class="badge rounded-full text-bg-light border inline-block truncate" style="max-width:9rem">Ten talks you should not miss this year</span>
</div>13User menu name
A long account name truncates inside the navbar button.
<nav class="navbar bg-surface-3 rounded-md px-4">
<span class="navbar-brand mb-0 h6">Bloomix Nest</span>
<button type="button" class="btn btn-light btn-sm flex items-center gap-2" style="max-width:12rem"> <img src="../assets/img/avatar-3.svg" alt="" width="24" height="24" class="rounded-full"><span class="truncate">Ava Larsen (Content Writer)</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 font-semibold mb-1">Without min-width</p>
<div class="flex border rounded-md p-2 overflow-hidden">
<div class="grow">
<div class="truncate">
Friendly people answer your questions quickly, by phone, chat or email. Clear prices, honest advice and no surprises along the way.
</div>
</div>
<span class="badge text-bg-secondary ms-2">New</span>
</div>
</div>
<div class="col-sm-6">
<p class="small font-semibold mb-1">With min-width: 0</p>
<div class="flex border rounded-md p-2">
<div class="grow" style="min-width:0">
<div class="truncate">
Early bird tickets save you up to forty percent until the end of the month. Our team has done this many times, so you never have to guess.
</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-md p-2" style="max-width:14rem" aria-label="Projects">
<ul class="nav flex-col">
<li class="nav-item"><a class="nav-link flex gap-2 py-1 px-2" href="#"><i class="bi bi-folder-fill" aria-hidden="true"></i><span class="truncate">Speaker management Secure plan honest</span></a></li>
<li class="nav-item"><a class="nav-link flex gap-2 py-1 px-2" href="#"><i class="bi bi-folder-fill" aria-hidden="true"></i><span class="truncate">Live streaming Focused project flexible</span></a></li>
<li class="nav-item"><a class="nav-link flex gap-2 py-1 px-2" href="#"><i class="bi bi-folder-fill" aria-hidden="true"></i><span class="truncate">Speaker management Simple team practical</span></a></li>
<li class="nav-item"><a class="nav-link flex gap-2 py-1 px-2" href="#"><i class="bi bi-folder-fill" aria-hidden="true"></i><span class="truncate">Networking app Bright process friendly</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-surface-3 rounded-md p-2">
<small class="font-semibold">To do</small>
<div class="bg-page border rounded-md p-2 mt-2 small truncate">
A beginner's guide to getting started
</div>
<div class="bg-page border rounded-md p-2 mt-2 small truncate">
Announcing our first keynote speakers
</div>
</div>
</div>
<div class="col-4">
<div class="bg-surface-3 rounded-md p-2">
<small class="font-semibold">Doing</small>
<div class="bg-page border rounded-md p-2 mt-2 small truncate">
Behind the scenes: building the stage
</div>
<div class="bg-page border rounded-md p-2 mt-2 small truncate">
The small habits that make a big difference
</div>
</div>
</div>
<div class="col-4">
<div class="bg-surface-3 rounded-md p-2">
<small class="font-semibold">Done</small>
<div class="bg-page border rounded-md p-2 mt-2 small truncate">
Looking back at a busy season
</div>
<div class="bg-page border rounded-md p-2 mt-2 small truncate">
Highlights from last year's workshops
</div>
</div>
</div>
</div>17Order summary address
A long shipping address truncated in a summary line, with an edit link.
<div class="flex items-center gap-2 border rounded-md p-2">
<span class="text-muted"><i class="bi bi-truck" aria-hidden="true"></i></span> <span class="truncate small">Felix Kim, 290 Orchard Close, Barcelona 31363, Spain</span> <a href="#" class="ms-auto small 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 inline-flex items-center" type="button" id="hp-dd-1242" data-ui-toggle="dropdown" aria-expanded="false" style="max-width:14rem"> <span class="truncate">Networking app for attendees</span> </button>
<ul class="dropdown-menu" aria-labelledby="hp-dd-1242">
<li><a class="dropdown-item" href="#">Ticketing</a></li>
<li><a class="dropdown-item" href="#">Sponsorship</a></li>
</ul>
</div>19Playlist
Long episode or track titles truncate while the duration stays aligned.
- Experiences people talk about2:30
- Talks, workshops and new friendships5:58
- Learn, connect and get inspired2:56
<ol class="list-group list-group-numbered">
<li class="list-group-item flex gap-2"><span class="truncate">Experiences people talk about</span><small class="ms-auto text-muted">2:30</small></li>
<li class="list-group-item flex gap-2"><span class="truncate">Talks, workshops and new friendships</span><small class="ms-auto text-muted">5:58</small></li>
<li class="list-group-item flex gap-2"><span class="truncate">Learn, connect and get inspired</span><small class="ms-auto text-muted">2:56</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="inline-block truncate hp-tt" style="max-width:16rem" tabindex="0" data-ui-toggle="tooltip" data-ui-title="More than eighty speakers share what they have learned the hard way. We measure success by how many attendees come back and tell their friends.">More than eighty speakers share what they have learned the hard way. We measure success by how many attendees come back and tell their friends.</span>