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.
Clients stay with us for years because we treat their brand like our own. Our motion team turns complex ideas into short films people actually watch.
<p class="text-truncate hp-tt mb-0" style="max-width:18rem">Clients stay with us for years because we treat their brand like our own. Our motion team turns complex ideas into short films people actually watch.</p>2Inline-block inside a sentence
Inline elements need d-inline-block plus a max width to truncate.
Last edited by Ethan Brennan and Omar Novak 20 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 Brennan and Omar Novak</span> 20 hours ago.</p>3Inbox preview
Subject and preview text cut to one line in an email list.
- Leo KimThe small habits that make a big difference – Start in minutes and get help from a real person whenever you need it. We test early with real users, so the final design works on the first day.
- Amara LindqvistPlanning a month of social content in a day – We measure success by how many clients come back and tell their friends. Senior designers lead every project from the first sketch to the final file.
- Zoe MensahLooking back at a busy season – Thousands of clients already trust us, and we work hard to keep it that way. We have helped more than a hundred companies launch, rebrand and grow online.
<ul class="list-group">
<li class="list-group-item d-flex gap-3"><strong class="flex-shrink-0 small" style="width:7rem">Leo Kim</strong><span class="text-truncate small"><span class="fw-semibold">The small habits that make a big difference</span> – Start in minutes and get help from a real person whenever you need it. We test early with real users, so the final design works on the first day.</span></li>
<li class="list-group-item d-flex gap-3"><strong class="flex-shrink-0 small" style="width:7rem">Amara Lindqvist</strong><span class="text-truncate small"><span class="fw-semibold">Planning a month of social content in a day</span> – We measure success by how many clients come back and tell their friends. Senior designers lead every project from the first sketch to the final file.</span></li>
<li class="list-group-item d-flex gap-3"><strong class="flex-shrink-0 small" style="width:7rem">Zoe Mensah</strong><span class="text-truncate small"><span class="fw-semibold">Looking back at a busy season</span> – Thousands of clients already trust us, and we work hard to keep it that way. We have helped more than a hundred companies launch, rebrand and grow online.</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-5244 | Every detail is handled by people who care about getting it right. | $244.22 |
| #ORD-5851 | Every project starts with a workshop, so we understand your audience before we design. | $178.07 |
| #INV-9803 | Our team has done this many times, so you never have to guess. | $33.07 |
<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-5244</td>
<td class="text-truncate" style="max-width:12rem">Every detail is handled by people who care about getting it right.</td>
<td class="text-end">$244.22</td>
</tr>
<tr>
<td>#ORD-5851</td>
<td class="text-truncate" style="max-width:12rem">Every project starts with a workshop, so we understand your audience before we design.</td>
<td class="text-end">$178.07</td>
</tr>
<tr>
<td>#INV-9803</td>
<td class="text-truncate" style="max-width:12rem">Our team has done this many times, so you never have to guess.</td>
<td class="text-end">$33.07</td>
</tr>
</tbody>
</table>
</div>5Long file names
File names shorten while the size stays visible at the end.
- a-checklist-for-your-next-website-launch-final-version-3.docx272 KB
- inside-our-design-process-final-version-4.docx262 KB
- lessons-from-a-year-of-client-workshops-final-version-6.docx226 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">a-checklist-for-your-next-website-launch-final-version-3.docx</span><small class="ms-auto text-body-secondary flex-shrink-0">272 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">inside-our-design-process-final-version-4.docx</span><small class="ms-auto text-body-secondary flex-shrink-0">262 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">lessons-from-a-year-of-client-workshops-final-version-6.docx</span><small class="ms-auto text-body-secondary flex-shrink-0">226 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="#">Motion</a></li>
<li class="breadcrumb-item active text-truncate" aria-current="page">Start in minutes and get help from a real person whenever you need it.</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">Felix Haddad replied: We combine strategy, design and technology to build brands that grow.</strong><small class="text-body-secondary">17 hours ago</small>
</div>
</div>8Equal card titles
Truncated titles keep a grid of cards the same height.
A checklist for your next website launch: Small teams, short feedback loops and no handoffs lost in translation.
May 16, 2026
A beginner's guide to getting started: From logo to launch campaign, everything is designed to work together.
Feb 13, 2026
How to choose the right project: Senior designers lead every project from the first sketch to the final file.
Jan 9, 2026
<div class="row g-3">
<div class="col-md-4">
<div class="card">
<div class="card-body">
<h3 class="h6 text-truncate">A checklist for your next website launch: Small teams, short feedback loops and no handoffs lost in translation.</h3>
<p class="small text-body-secondary mb-0">May 16, 2026</p>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card">
<div class="card-body">
<h3 class="h6 text-truncate">A beginner's guide to getting started: From logo to launch campaign, everything is designed to work together.</h3>
<p class="small text-body-secondary mb-0">Feb 13, 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 project: Senior designers lead every project from the first sketch to the final file.</h3>
<p class="small text-body-secondary mb-0">Jan 9, 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">Maya Tanaka</strong><small class="ms-auto ps-2 text-body-secondary">07:00</small>
</div>
<div class="small text-body-secondary text-truncate">
We keep things simple, so you can focus on what matters to you. We listen first, then build a plan around what you actually need.
</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-1.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">Hana Ashford</strong><small class="ms-auto ps-2 text-body-secondary">17:15</small>
</div>
<div class="small text-body-secondary text-truncate">
Fixed prices and weekly demos keep you in control from start to finish. We measure success in sign-ups, sales and brand recall, not just awards.
</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-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">Theo Whitaker</strong><small class="ms-auto ps-2 text-body-secondary">16:45</small>
</div>
<div class="small text-body-secondary text-truncate">
Clients stay with us for years because we treat their brand like our own. We measure success by how many clients come back and tell their friends.
</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/project/news/getting-started-with-the-new-dashboard">example.com/community/guide/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-5.svg" alt="" class="img-fluid rounded mb-1">
<div class="small text-truncate">
Design retainer Branding edition
</div>
<strong class="small">$3,450</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">
Packaging design Print edition
</div>
<strong class="small">$4,050</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">
Explainer animation Motion edition
</div>
<strong class="small">$5,400</strong>
</div>
</div>
<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">
Brand sprint Branding edition
</div>
<strong class="small">$5,200</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">Five website mistakes that cost you leads</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><span class="badge rounded-pill text-bg-light border d-inline-block text-truncate" style="max-width:9rem">What makes a brand memorable</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">Aeroium Hub</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">Mason Alvarez (Marketing Lead)</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 detail is handled by people who care about getting it right. Thousands of clients already trust us, and we work hard to keep it that way.
</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">
We have helped more than a hundred companies launch, rebrand and grow online. We test early with real users, so the final design works on the first day.
</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">Content strategy Friendly journey 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-fill" aria-hidden="true"></i><span class="text-truncate">Motion graphics Elegant dashboard reliable</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">Campaign production Elegant goal secure</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">Content strategy Focused launch simple</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">
Inside our design process
</div>
<div class="bg-body border rounded p-2 mt-2 small text-truncate">
Choosing colours that sell
</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">
Our favourite tips for busy weeks
</div>
<div class="bg-body border rounded p-2 mt-2 small text-truncate">
Why motion matters for modern brands
</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">
Looking back at a busy season
</div>
<div class="bg-body border rounded p-2 mt-2 small text-truncate">
What our clients asked us most
</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 Silva, 370 Willow Way, Montreal 49574, 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-bs-toggle="dropdown" aria-expanded="false" style="max-width:14rem"> <span class="text-truncate">UX research for clients</span> </button>
<ul class="dropdown-menu" aria-labelledby="hp-dd-1242">
<li><a class="dropdown-item" href="#">Brand identity</a></li>
<li><a class="dropdown-item" href="#">Campaign production</a></li>
</ul>
</div>19Playlist
Long episode or track titles truncate while the duration stays aligned.
- Bold ideas, beautifully executed4:21
- Strategy, design and code under one roof2:52
- Brands that stand out and sell4:40
<ol class="list-group list-group-numbered">
<li class="list-group-item d-flex gap-2"><span class="text-truncate">Bold ideas, beautifully executed</span><small class="ms-auto text-body-secondary">4:21</small></li>
<li class="list-group-item d-flex gap-2"><span class="text-truncate">Strategy, design and code under one roof</span><small class="ms-auto text-body-secondary">2:52</small></li>
<li class="list-group-item d-flex gap-2"><span class="text-truncate">Brands that stand out and sell</span><small class="ms-auto text-body-secondary">4:40</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="Friendly people answer your questions quickly, by phone, chat or email. Websites we build are fast, accessible and easy for your team to update.">Friendly people answer your questions quickly, by phone, chat or email. Websites we build are fast, accessible and easy for your team to update.</span>