Text
Text utilities handle alignment (with responsive variants), wrapping, truncation, breaking, transforms, font size, weight and style, line height, monospace and decoration. Combine them to build headings, meta lines and price tags without touching CSS.
1Text alignment
text-start, text-center and text-end.
text-start
text-center
text-end
<div class="d-grid gap-2 small">
<p class="text-start border rounded-3 p-2 mb-0">text-start</p>
<p class="text-center border rounded-3 p-2 mb-0">text-center</p>
<p class="text-end border rounded-3 p-2 mb-0">text-end</p>
</div>2Responsive alignment
text-center text-sm-start text-lg-end changes alignment per breakpoint.
Start in minutes and get help from a real person whenever you need it.
<p class="text-center text-sm-start text-lg-end border rounded-3 p-2 mb-0">Start in minutes and get help from a real person whenever you need it.</p>3Wrap and no wrap
text-nowrap keeps text on one line, text-wrap allows wrapping (for example inside a badge).
<div class="d-grid gap-2" style="max-width:14rem">
<div class="border rounded-3 p-2 text-nowrap overflow-hidden small">
text-nowrap: Start in minutes and get help from a real person whenever you need it.
</div>
<span class="badge text-bg-primary text-wrap text-start">text-wrap badge: Start in minutes and get help from a real person whenever you need it.</span>
</div>4Truncate
text-truncate cuts a single line with an ellipsis; it needs a block or inline-block with a width.
<div class="d-grid gap-2" style="max-width:18rem">
<div class="text-truncate border rounded-3 p-2">
Our menu changes with the seasons and the best produce from nearby farms. Vegan, vegetarian and gluten-free dishes are marked clearly on every menu.
</div>
<span class="d-inline-block text-truncate border rounded-3 p-2" style="max-width:150px">Taste the city's favourite kitchen</span>
</div>5Break long words
text-break wraps very long strings that have no spaces.
wrenora-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
<p class="text-break border rounded-3 p-2 mb-0 small" style="max-width:18rem">wrenora-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</p>6Text transform
text-lowercase, text-uppercase and text-capitalize.
<div class="d-grid gap-1">
<span class="text-lowercase">Wood-fired, slow-cooked, unforgettable</span> <span class="text-uppercase">Wood-fired, slow-cooked, unforgettable</span> <span class="text-capitalize">secure idea reliable project</span>
</div>7Font sizes
fs-1 to fs-6 set the size without changing the element.
fs-1
fs-2
fs-3
fs-4
fs-5
fs-6
<div>
<p class="fs-1 mb-0">fs-1</p>
<p class="fs-2 mb-0">fs-2</p>
<p class="fs-3 mb-0">fs-3</p>
<p class="fs-4 mb-0">fs-4</p>
<p class="fs-5 mb-0">fs-5</p>
<p class="fs-6 mb-0">fs-6</p>
</div>8Font weights
fw-bold, fw-bolder, fw-semibold, fw-medium, fw-normal, fw-light and fw-lighter.
<div class="d-grid gap-1">
<span class="fw-bold">fw-bold</span><span class="fw-bolder">fw-bolder</span><span class="fw-semibold">fw-semibold</span> <span class="fw-medium">fw-medium</span><span class="fw-normal">fw-normal</span><span class="fw-light">fw-light</span><span class="fw-lighter">fw-lighter</span>
</div>9Italic and normal
fst-italic slants text, fst-normal resets it inside italic parents.
Every dish is cooked to order, so tell us if you would like anything changed. fst-normal inside Friendly idea powerful
<p class="fst-italic mb-0">Every dish is cooked to order, so tell us if you would like anything changed. <span class="fst-normal fw-semibold">fst-normal inside</span> Friendly idea powerful</p>10Line height
lh-1, lh-sm, lh-base and lh-lg on the same paragraph.
lh-1Our sommelier has paired each dish with wines from small family vineyards. Private dining rooms seat up to forty guests for birthdays and business dinners.
lh-smOur sommelier has paired each dish with wines from small family vineyards. Private dining rooms seat up to forty guests for birthdays and business dinners.
lh-baseOur sommelier has paired each dish with wines from small family vineyards. Private dining rooms seat up to forty guests for birthdays and business dinners.
lh-lgOur sommelier has paired each dish with wines from small family vineyards. Private dining rooms seat up to forty guests for birthdays and business dinners.
<div class="row g-3 small">
<div class="col-6 col-md-3">
<code>lh-1</code>
<p class="lh-1 mb-0">Our sommelier has paired each dish with wines from small family vineyards. Private dining rooms seat up to forty guests for birthdays and business dinners.</p>
</div>
<div class="col-6 col-md-3">
<code>lh-sm</code>
<p class="lh-sm mb-0">Our sommelier has paired each dish with wines from small family vineyards. Private dining rooms seat up to forty guests for birthdays and business dinners.</p>
</div>
<div class="col-6 col-md-3">
<code>lh-base</code>
<p class="lh-base mb-0">Our sommelier has paired each dish with wines from small family vineyards. Private dining rooms seat up to forty guests for birthdays and business dinners.</p>
</div>
<div class="col-6 col-md-3">
<code>lh-lg</code>
<p class="lh-lg mb-0">Our sommelier has paired each dish with wines from small family vineyards. Private dining rooms seat up to forty guests for birthdays and business dinners.</p>
</div>
</div>11Monospace
font-monospace for IDs, codes and figures that should line up.
- #PO-6868 $983.58
- #ORD-6195 $191.39
- #ORD-5671 $800.76
<ul class="list-unstyled mb-0 font-monospace small">
<li>#PO-6868 $983.58</li>
<li>#ORD-6195 $191.39</li>
<li>#ORD-5671 $800.76</li>
</ul>12Text decoration
text-decoration-underline, -line-through and -none.
<div class="d-flex flex-wrap gap-3">
<span class="text-decoration-underline">underline</span> <span class="text-decoration-line-through">line-through</span> <a href="#" class="text-decoration-none">link without underline</a>
</div>13Lead and small
lead for an intro paragraph, small for fine print.
Our sommelier has paired each dish with wines from small family vineyards.
Vegan, vegetarian and gluten-free dishes are marked clearly on every menu.
<div>
<p class="lead">Our sommelier has paired each dish with wines from small family vineyards.</p>
<p class="small text-body-secondary mb-0">Vegan, vegetarian and gluten-free dishes are marked clearly on every menu.</p>
</div>14Display headings
display-1 to display-6 for oversized hero headings.
display-4
display-5
display-6
<div>
<p class="display-4 mb-0">display-4</p>
<p class="display-5 mb-0">display-5</p>
<p class="display-6 mb-0">display-6</p>
</div>15Article header
Uppercase eyebrow, large bold title, muted meta line - all text utilities.
Dinner worth getting dressed up for
<header>
<div class="text-uppercase small fw-bold text-primary">
Specials
</div>
<h3 class="fs-2 fw-bold lh-sm text-body-emphasis mb-2">Dinner worth getting dressed up for</h3>
<div class="small text-body-secondary">
By <span class="fw-medium">Chloe Mensah</span> · Mar 30, 2026
</div>
</header>16Truncated table cells
text-truncate with a max width keeps long names in one line inside a table.
| Name | Size |
|---|---|
| experience-bright-final-version-approved.pdf | 30 MB |
| project-Dublin-photos-2026-07-03.zip | 169 MB |
<table class="table table-sm small mb-0" style="table-layout:fixed">
<thead>
<tr>
<th scope="col">Name</th>
<th scope="col" class="text-end" style="width:6rem">Size</th>
</tr>
</thead>
<tbody>
<tr>
<td class="text-truncate">experience-bright-final-version-approved.pdf</td>
<td class="text-end">30 MB</td>
</tr>
<tr>
<td class="text-truncate">project-Dublin-photos-2026-07-03.zip</td>
<td class="text-end">169 MB</td>
</tr>
</tbody>
</table>17Quote typography
fs-5, fst-italic and lh-lg for a calm testimonial.
“Our terrace is open from spring to autumn, with heaters for cooler evenings.”
<figure class="mb-0">
<blockquote class="fs-5 fst-italic lh-lg mb-2"><p class="mb-0">“Our terrace is open from spring to autumn, with heaters for cooler evenings.”</p></blockquote>
<figcaption class="small fw-semibold text-uppercase">Owen Kowalski</figcaption>
</figure>18Long button label
text-wrap on a button lets a long label wrap on narrow screens.
<button type="button" class="btn btn-outline-primary text-wrap" style="max-width:14rem">Where every dinner feels like a celebration</button>19Highlight and marks
mark highlights a search term inside text; fw-semibold emphasises numbers.
Found 82 results for update in Starters.
<p class="mb-0">Found <span class="fw-semibold">82</span> results for <mark>update</mark> in Starters.</p>20Centred pricing text
text-center with fs-1, fw-bold and lh-1 for a plan price.
<div class="text-center border rounded-4 p-4" style="max-width:16rem">
<div class="text-uppercase small fw-semibold text-body-secondary">
Pro
</div>
<div class="fs-1 fw-bold lh-1 my-2">
$19.76
</div>
<div class="small text-body-secondary">
per month, billed yearly
</div>
</div>