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.
Thousands of buyers already trust us, and we work hard to keep it that way. Start in minutes and get help from a real person whenever you need it.
<p class="text-truncate hp-tt mb-0" style="max-width:18rem">Thousands of buyers already trust us, and we work hard to keep it that way. Start in minutes and get help from a real person whenever you need it.</p>2Inline-block inside a sentence
Inline elements need d-inline-block plus a max width to truncate.
Last edited by Ella Rossi and Mason Okafor yesterday.
<p class="mb-0">Last edited by <span class="d-inline-block text-truncate align-bottom hp-tt" style="max-width:8rem">Ella Rossi and Mason Okafor</span> yesterday.</p>3Inbox preview
Subject and preview text cut to one line in an email list.
- Mateo DelgadoA beginner's guide to getting started – Neighbourhood guides cover transport, schools and things to do. We measure success by how many buyers come back and tell their friends.
- Elena HaddadA first-time buyer's checklist – Book viewings online and take a 3D tour before you leave the house. Clear prices, honest advice and no surprises along the way.
- Ethan MoreauThe small habits that make a big difference – Friendly people answer your questions quickly, by phone, chat or email. Start in minutes and get help from a real person whenever you need it.
<ul class="list-group">
<li class="list-group-item d-flex gap-3"><strong class="flex-shrink-0 small" style="width:7rem">Mateo Delgado</strong><span class="text-truncate small"><span class="fw-semibold">A beginner's guide to getting started</span> – Neighbourhood guides cover transport, schools and things to do. We measure success by how many buyers 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">Elena Haddad</strong><span class="text-truncate small"><span class="fw-semibold">A first-time buyer's checklist</span> – Book viewings online and take a 3D tour before you leave the house. Clear prices, honest advice and no surprises along the way.</span></li>
<li class="list-group-item d-flex gap-3"><strong class="flex-shrink-0 small" style="width:7rem">Ethan Moreau</strong><span class="text-truncate small"><span class="fw-semibold">The small habits that make a big difference</span> – Friendly people answer your questions quickly, by phone, chat or email. Start in minutes and get help from a real person whenever you need it.</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-3179 | Neighbourhood guides cover transport, schools and things to do. | $46.79 |
| #TX-8655 | Price alerts tell you the moment a home that fits your search comes on the market. | $184.21 |
| #INV-2766 | We handle the paperwork, so you can focus on planning the move. | $149.00 |
<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-3179</td>
<td class="text-truncate" style="max-width:12rem">Neighbourhood guides cover transport, schools and things to do.</td>
<td class="text-end">$46.79</td>
</tr>
<tr>
<td>#TX-8655</td>
<td class="text-truncate" style="max-width:12rem">Price alerts tell you the moment a home that fits your search comes on the market.</td>
<td class="text-end">$184.21</td>
</tr>
<tr>
<td>#INV-2766</td>
<td class="text-truncate" style="max-width:12rem">We handle the paperwork, so you can focus on planning the move.</td>
<td class="text-end">$149.00</td>
</tr>
</tbody>
</table>
</div>5Long file names
File names shorten while the size stays visible at the end.
- how-to-prepare-your-home-for-a-quick-sale-final-version-8.docx73 KB
- how-our-valuations-work-final-version-5.docx133 KB
- looking-back-at-a-busy-season-final-version-7.docx790 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">how-to-prepare-your-home-for-a-quick-sale-final-version-8.docx</span><small class="ms-auto text-body-secondary flex-shrink-0">73 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-our-valuations-work-final-version-5.docx</span><small class="ms-auto text-body-secondary flex-shrink-0">133 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">looking-back-at-a-busy-season-final-version-7.docx</span><small class="ms-auto text-body-secondary flex-shrink-0">790 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="#">Apartments</a></li>
<li class="breadcrumb-item active text-truncate" aria-current="page">Our local agents know every street, school and coffee shop in the area.</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">Samir Morgan replied: Most of our homes sell within six weeks, often above the asking price.</strong><small class="text-body-secondary">2 days ago</small>
</div>
</div>8Equal card titles
Truncated titles keep a grid of cards the same height.
How we sold a lake cottage in nine days: Every detail is handled by people who care about getting it right.
Sep 28, 2026
Ten questions to ask at a viewing: Mortgage advisors help you understand what you can afford before you start.
May 2, 2026
A first-time buyer's checklist: Our team has done this many times, so you never have to guess.
Jul 1, 2026
<div class="row g-3">
<div class="col-md-4">
<div class="card">
<div class="card-body">
<h3 class="h6 text-truncate">How we sold a lake cottage in nine days: Every detail is handled by people who care about getting it right.</h3>
<p class="small text-body-secondary mb-0">Sep 28, 2026</p>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card">
<div class="card-body">
<h3 class="h6 text-truncate">Ten questions to ask at a viewing: Mortgage advisors help you understand what you can afford before you start.</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">A first-time buyer's checklist: Our team has done this many times, so you never have to guess.</h3>
<p class="small text-body-secondary mb-0">Jul 1, 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">Liam Brennan</strong><small class="ms-auto ps-2 text-body-secondary">16:45</small>
</div>
<div class="small text-body-secondary text-truncate">
Clear prices, honest advice and no surprises along the way. Our rental team manages repairs, payments and tenants for landlords.
</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">Freya Kim</strong><small class="ms-auto ps-2 text-body-secondary">10:00</small>
</div>
<div class="small text-body-secondary text-truncate">
Sellers get professional photos, floor plans and a marketing plan included. 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">Ava Tanaka</strong><small class="ms-auto ps-2 text-body-secondary">10:00</small>
</div>
<div class="small text-body-secondary text-truncate">
Honest advice comes first, even when it means waiting for the right home. We keep things simple, so you can focus on what matters to you.
</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/story/how-to/getting-started-with-the-new-dashboard">example.com/routine/product/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-11.svg" alt="" class="img-fluid rounded mb-1">
<div class="small text-truncate">
Retail unit Commercial edition
</div>
<strong class="small">$475,000</strong>
</div>
</div>
<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">
Penthouse Apartments edition
</div>
<strong class="small">$1,775,000</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">
Studio apartment Apartments edition
</div>
<strong class="small">$300,000</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">
Seaside villa Villas edition
</div>
<strong class="small">$2,225,000</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">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">Our favourite tips for busy weeks</span><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">How to prepare your home for a quick sale</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">Vivid Studio</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-6.svg" alt="" width="24" height="24" class="rounded-circle"><span class="text-truncate">Kenji Alvarez (Customer Success)</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 listing is checked by our team, so the photos match what you see in person. Thousands of buyers 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 measure success by how many buyers come back and tell their friends. Book viewings online and take a 3D tour before you leave the house.
</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">Virtual tours Clear process 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-fill" aria-hidden="true"></i><span class="text-truncate">Virtual tours Flexible experience 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">Mortgage advice Smart routine clear</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">Rental management Simple update fast</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 to choose the right property
</div>
<div class="bg-body border rounded p-2 mt-2 small text-truncate">
What really affects the value of your home
</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">
How our valuations work
</div>
<div class="bg-body border rounded p-2 mt-2 small text-truncate">
The best neighbourhoods for families this year
</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">
Staging tips that help homes sell faster
</div>
<div class="bg-body border rounded p-2 mt-2 small text-truncate">
Renting versus buying: what makes sense now
</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">Sofia Varga, 289 Cedar Lane, Melbourne 96681, Australia</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">Home valuation for buyers</span> </button>
<ul class="dropdown-menu" aria-labelledby="hp-dd-1242">
<li><a class="dropdown-item" href="#">Legal support</a></li>
<li><a class="dropdown-item" href="#">Home valuation</a></li>
</ul>
</div>19Playlist
Long episode or track titles truncate while the duration stays aligned.
- Your next address starts here3:34
- Home is closer than you think3:25
- Properties with character, agents with heart3:15
<ol class="list-group list-group-numbered">
<li class="list-group-item d-flex gap-2"><span class="text-truncate">Your next address starts here</span><small class="ms-auto text-body-secondary">3:34</small></li>
<li class="list-group-item d-flex gap-2"><span class="text-truncate">Home is closer than you think</span><small class="ms-auto text-body-secondary">3:25</small></li>
<li class="list-group-item d-flex gap-2"><span class="text-truncate">Properties with character, agents with heart</span><small class="ms-auto text-body-secondary">3:15</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="Get a free, no-obligation valuation of your home within 48 hours. Friendly people answer your questions quickly, by phone, chat or email.">Get a free, no-obligation valuation of your home within 48 hours. Friendly people answer your questions quickly, by phone, chat or email.</span>