Icons
Two complete icon packs — Lucide (1711 glyphs) and Bootstrap Icons (2078) — are compiled into the wcl binary. Nothing is downloaded, nothing is read from disk at build time, and you declare nothing to use them. This chapter covers the three places an icon may go, the iconset block that renames a pack and styles it, the rules that turn a name into a glyph, the shared sprite the build emits, and what each of the three output targets does with an icon. It ends with both packs in full, every glyph drawn beside its name.
Every file and command below was run before it was written down. Type them and compare.
§ 1One file, every way in
Save this as icons.wcl. It uses all three ways to place an icon and declares one custom set:
# icons.wcl — every way to put an icon on a page.
import <wdoc.wcl>
iconset ui {
pack = "lucide"
size = "1.25em"
color = "#88c0d0"
icon_def "heart" { color = "#bf616a" }
}
site demo {
title = "Icon lab"
default_template = :book
toc { chapter "Icons" { page = lab } }
}
page lab {
title = "Icon lab"
h1 "Icon lab"
p "Bare :heart:, prefixed :bootstrap.house:, and a time like 10:30 that stays prose."
diagram {
width = 240 height = 90
icon "lucide.compass" { x = 20.0 y = 13.0 width = 64.0 height = 64.0 }
process "Validate" {
id = v x = 110.0 y = 20.0 width = 110.0 height = 50.0
icon = "lucide.shield-check"
}
}
}
$ wcl wdoc build icons.wcl --out site
wrote 1 page
$ ls site/_wdoc/icons.svg
site/_wdoc/icons.svg
The paragraph renders as prose with two glyphs in it, and the diagram draws a third and a fourth. Both are reproduced below — unstyled, because this book declares no ui set of its own:
Bare , prefixed , and a time like 10:30 that stays prose.
Four icons, three mechanisms. :heart: and :bootstrap.house: are the inline pattern — a :name: token inside any prose string. The compass is the icon block, a placeable shape inside a diagram. The shield on the Validate box is a badge: the icon field that every box-like shape carries. All four resolve through one registry, and all four end up in one file, site/_wdoc/icons.svg, holding exactly the four glyphs the build used.
Note the last clause of the paragraph too. 10:30 sits in prose that is scanned for icon tokens, and comes out untouched. Neither the pattern nor the lookup ever fails a build.
§ 2The two bundled packs
The packs are vendored into the repository and bundled by crates/wcl_wdoc/build.rs, which concatenates every *.svg in a pack directory into one blob and emits a name-sorted index into it. Looking an icon up is a binary search and a slice — there is no per-icon file and no runtime read.
| Pack | Upstream | Licence | Glyphs | Paints with |
|---|---|---|---|---|
| lucide | github.com/lucide-icons/lucide | ISC | 1711 | stroke="currentColor" — outline style |
| bootstrap | github.com/twbs/icons | MIT | 2078 | fill="currentColor" — solid style |
An icon name is the file stem. house.svg is the icon house; alarm-clock-check.svg is alarm-clock-check. Names are lower-case, digits and hyphens only — which is what lets a set.name token be split on its dot without ambiguity. The two galleries at the end of this chapter list every name in both packs.
The two packs overlap in places and diverge in most. Both have house, heart, wrench and zoom-in; only Lucide has shield-check, only Bootstrap has windows. When both provide a name and you have not said which you mean, the resolution order decides.
§ 2.1Licensing
Both licences are permissive and both require the licence text to travel with the files. That obligation is already met inside this repository: each pack directory keeps its upstream LICENSE beside the SVGs, and the two files are vendored verbatim — only icons/*.svg and LICENSE are copied from upstream, nothing else.
You are redistributing the glyphs
A built site embeds the icons it uses into _wdoc/icons.svg, and a PDF embeds them into the document itself. That is redistribution, and the ISC and MIT terms follow the glyphs out of your build. Neither licence asks for attribution on the page — both ask that the licence text be included with the distributed copies. If you ship the output rather than the source, ship the two licence files with it. crates/wcl_wdoc/assets/icons/README.md records where each pack came from and how to update it.
§ 3Inline icons
Inside any prose string, :name: becomes an icon. The pattern is one of the built-in inline patterns, so it works everywhere the others do — a p, a text block's span, a li, a table cell, a callout body, a chart label. Text and formatting covers the pattern engine as a whole.
The token is deliberately narrow. It matches a colon, a character from a–z or 0–9, then any run of lower-case letters, digits, dots, hyphens and underscores, then a closing colon. Three consequences follow:
- :Home: does not match — the first character after the colon must be lower-case or a digit.
- 10:30 does not match — a token needs a closing colon and there is none. note: see below does not match either — the character after the colon must be a letter or a digit, and a space is neither.
- :lucide.compass: matches as one token, dot and all, and the dot is what separates the set name from the icon name.
A token that matches but resolves to nothing is emitted as the literal text you wrote. That is the whole safety story for the pattern: prose that happens to look like an icon reference is left as prose.
Write this:
p "Bare :heart:, prefixed :bootstrap.house:, and :not-an-icon: falls through."
…and the build emits this (line-broken here to fit):
<p>Bare
<svg class="wdoc-icon" style="width:1.25em;height:1.25em;color:#bf616a;">
<use href="_wdoc/icons.svg#lucide-heart"/>
</svg>,
prefixed
<svg class="wdoc-icon"><use href="_wdoc/icons.svg#bootstrap-house"/></svg>,
and :not-an-icon: falls through.
</p>
Two things to read out of that. First, each icon is a <use> of the shared sprite rather than a copy of the glyph — the sprite explains why. Second, the styling on the heart came from the ui iconset and its icon_def, while bootstrap.house names a set that declares no defaults and so carries no inline style at all.
An inline icon carries no classes of its own
The :name: token has no syntax for a class or a size — there is nowhere to put one. Every class and every style on an inline icon comes from the iconset (or its icon_def) that resolved it. If you need one glyph styled differently from the rest of its set, give the set an icon_def for it, or declare a second set.
§ 4Iconsets
An iconset is a named reference to a bundled pack plus the default styling for icons drawn from it:
iconset ui {
pack = "lucide" # which bundled pack to read
size = "1.25em" # default inline size
color = "var(--wdoc-accent)" # default foreground
class = ["ui-glyph"] # added to every icon in the set
icon_def "heart" { color = "#bf616a" }
icon_def "circle-x" { color = "#bf616a" class = ["shout"] }
}
Its fields:
| Field | Type | Means |
|---|---|---|
| label | identifier | The set's own name. It is what :ui.heart: and a diagram icon's set = ui refer to. |
| pack | utf8? | The bundled pack to read glyphs from — "lucide" or "bootstrap". Defaults to the set's own name, which is why iconset lucide {} needs no pack. |
| size | utf8? | Default size for inline icons, as a CSS length: "1.25em", "20px". Ignored by diagram icons and badges. |
| color | utf8? | Default foreground. Every glyph paints with currentColor, so this is the one knob that recolours both packs. |
| fill | utf8? | Explicit fill override, for the rare case where color is not enough. |
| background | utf8? | Background behind the glyph. On an inline icon it is a CSS background; on a diagram icon it becomes a <rect> drawn under the glyph. |
| class | list<utf8>? | Classes added to every icon from this set, on top of the built-in wdoc-icon. See Themes and styling. |
| icon_def | child blocks | Per-icon overrides, below. |
§ 4.1Per-icon overrides
An icon_def child names one icon in the set and overrides the set's defaults for it. It carries the same five styling fields — size, color, fill, background, class — and nothing else. Sizing and colour has the layering rule that decides what an override replaces.
iconset ui {
pack = "lucide"
color = "#88c0d0" # everything in `ui` is blue …
class = ["ui-glyph"]
icon_def "heart" { # … except the heart
color = "#bf616a"
class = ["shout"] # ends up with class="wdoc-icon ui-glyph shout"
}
}
An iconset is a document-root declaration
The registry is built from the iconset blocks at the root of the document, not from the page an icon appears on. An iconset written inside a page is not a root block and will not be found. In a multi-file document every imported file's root blocks merge into one root, so a set declared in any imported file styles icons in every page of every site the document builds. That is the reach to keep in mind before you rename lucide.
§ 4.2How a name resolves
A name reaches a glyph through one registry, loaded once per build from those root iconset blocks. Four rules, in this order:
- A set.name token names the set. :ui.heart: looks only at the set called ui. If no set has that name, or that set's pack has no heart, the lookup fails — it does not try elsewhere. (One caller has a fallback after that failure; the example below is it.)
- A bare name tries every set in declaration order, and the first whose pack holds the icon wins. The document's own sets come before the two the library declares, so a set of yours is always consulted first.
- On a diagram icon, an explicit set = field beats a set. prefix on the name. icon "lucide.compass" { set = ui } reads from ui.
- A failed lookup is never a build error. Inline, the literal :name: text is emitted. In a diagram, nothing is drawn. A badge whose icon misses simply has no badge.
The library declares iconset lucide {} and iconset bootstrap {} unconditionally, which is why both packs work in a document that declares nothing. Because a set's pack defaults to its own name, those two declarations are the whole of their configuration.
Declaring a set with one of those names replaces it — a root set is found before a library one:
import <wdoc.wcl>
# `lucide` now means the bootstrap pack, everywhere in the document.
iconset lucide { pack = "bootstrap" }
site demo { title = "s" default_template = :book
toc { chapter "L" { page = lab } }
}
page lab {
title = "L"
h1 "L"
callout "Careful" { class = ["warning"] body = "text" }
p "inline :lucide.triangle-alert: here"
}
Build that and the sprite holds one symbol, lucide-triangle-alert, while the paragraph renders the literal text :lucide.triangle-alert:. Both halves of that are worth understanding, because they are the one place the rules above are not the whole story.
The warning callout's default glyph is lucide.triangle-alert, and Bootstrap has no icon by that name, so the set lookup failed. One path has a second chance after that failure: an icon named through the Html::Icon value — the icon(name, class) constructor, and so a callout's default glyph and a sidebar_footer button — falls back to a compiled-in pack whose name matches the prefix. That is why the callout drew the real Lucide glyph.
Nothing else gets that fallback. The author's own inline token did not: rule 1 applied, the lookup failed, and the literal text was emitted. Nor does a diagram icon block, nor a shape badge — both resolve through the set list and stop there.
Renaming a built-in set moves the furniture
Callout glyphs (lucide.info, lucide.lightbulb, lucide.triangle-alert, lucide.circle-x, lucide.circle-check) and sidebar_footer button icons are named by the stdlib, not by you. Declaring your own iconset lucide re-points every one of them at whatever pack you gave it, and they change silently wherever the new pack happens to have a matching name. To restyle a pack without moving it, declare a set under a new name and use that name.
§ 5The placeable icon block
icon is also a shape. It extends SvgBlock, so it is a legal child of a diagram or a container, it is placed by x / y or by anchors, and an edge may attach to it exactly as to a rect. The diagram canvas covers placement and Connections and routing covers the edges.
diagram {
width = 260 height = 100
icon "lucide.database" { id = db x = 20.0 y = 26.0 width = 48.0 height = 48.0 }
icon "lucide.cloud" { id = cl x = 190.0 y = 26.0 width = 48.0 height = 48.0 }
db -> cl
}
The name is the block's label, so icon "lucide.compass" { … } and icon { name = "lucide.compass" … } are the same block written two ways. Its fields:
| Field | Type | Default | Means |
|---|---|---|---|
| label | identifier | — | The icon name, optionally set.name. |
| set | identifier? | — | Which declared iconset to read from. Beats a set. prefix on the name. |
| x / y | f64 | 0.0 | Top-left placement in diagram units, when the layout is manual. |
| width / height | f64 | 24.0 | Size in diagram units. This — not size — is what sizes a diagram icon. |
| scale | f64? | — | Extra multiplier on width and height. It scales from the top-left corner: x / y do not move. |
| color | utf8? | set's | Foreground, over the set's default. |
| fill | utf8? | set's | Fill override. |
| background | utf8? | set's | Drawn as a <rect> behind the glyph, filling the same box. |
| class | list<utf8>? | set's | Classes, added to the set's. |
| id | identifier? | — | The shape's id, so an edge can name it. |
| size | utf8? | — | Declared for symmetry with iconset. A diagram icon ignores it — see the warning below. |
| anchors | f64? | — | anchor_left and its siblings place the icon against the parent's edges instead of by x / y. |
| connect_points | list<AnchorSide>? | — | Which sides an edge may attach to. |
size does not size a diagram icon
size is a CSS length, and the SVG render path never writes one: a diagram icon's geometry is width × height, multiplied by scale. Setting size on the block, or on the iconset it draws from, changes nothing in the output. Both were tried. Use width / height in a diagram, and keep size for the inline path.
A set on the block and a set prefix on the name do different jobs, and the difference shows up in the styling. icon "lucide.compass" reads from the lucide set — the library one, with no defaults — so it inherits no colour even if you have a beautifully styled set of your own. icon "compass" { set = ui } reads from ui, and picks up its color, background and classes.
§ 6Icon badges on shapes
The third mechanism puts an icon on a shape rather than beside it. Every box-like shape — rect, circle, container, process, decision, terminator, and any custom SvgBlock shape that declares the same fields — carries four badge fields:
| Field | Type | Default | Means |
|---|---|---|---|
| icon | utf8? | — | The icon name, optionally set.name. Absent ⇒ no badge. |
| icon_size | f64? | min(w, h) * 0.4 | Badge size in diagram units. |
| icon_pos | IconPos? | :left | Where in the shape's box the badge sits. |
| icon_class | list<utf8>? | — | Classes on the badge. |
IconPos is a symbol set with seven members. Corner and edge placements are inset from the box by a tenth of its shorter side; :center is not inset.
| Symbol | Places the badge |
|---|---|
| :left | Against the left edge, vertically centred — the default. |
| :right | Against the right edge, vertically centred. |
| :center | In the middle of the box. Every badge draws over the shape, so this one overlaps a centred label. |
| :top_left | Top-left corner. |
| :top_right | Top-right corner. |
| :bottom_left | Bottom-left corner. |
| :bottom_right | Bottom-right corner. |
:left is the default for two reasons. The label-bearing flowchart shapes reserve a matching strip on their left, so the badge and the label sit side by side instead of on top of one another. And a corner badge pokes out of a rounded or oval outline. Compare the two:
process "Validate" {
id = a x = 10.0 y = 20.0 width = 180.0 height = 50.0
icon = "lucide.shield-check" # :left, the default
}
process "Validate" {
id = b x = 230.0 y = 20.0 width = 180.0 height = 50.0
icon = "lucide.shield-check" icon_pos = :top_right
}
A badge takes no set field. Write the set into the name — icon = "ui.shield-check" — when you want a set other than the first one that answers.
Two shapes have no box to badge
line and label have no bounding box a badge could be anchored to, so they carry no badge even though they are shapes. Everything else resolves a box: circle, container and polygon from their own geometry, and every remaining kind from its rectangle.
§ 7Sizing and colour
Styling arrives in three layers, and each later layer wins field by field:
- The set's defaults — the size / color / fill / background / class on the iconset.
- The icon_def for this one icon, if the set declares one.
- The placement itself — the fields on the icon block, or icon_class on a badge.
Scalar fields replace; class lists concatenate, so an icon ends up wearing wdoc-icon, then the set's classes, then the icon's own.
What each field actually does depends on where the icon is drawn, and the table is the comparison worth having in one place:
| Field | Inline :name: | Diagram icon block | Shape badge |
|---|---|---|---|
| size | CSS width and height | Ignored | Ignored — use icon_size |
| color | CSS color, driving currentColor | Same, on the <use> | From the set only |
| fill | CSS fill | Same | From the set only |
| background | CSS background | A <rect> behind the glyph | From the set only |
| class | From the set only | Set's + the block's class | Set's + icon_class |
| geometry | 1em, i.e. the surrounding font size | width × height × scale | icon_size, default min(w, h) * 0.4 |
The default inline size is not a hard-coded number in the renderer: the library ships a base "svg.wdoc-icon" rule setting width: 1em; height: 1em, so an inline icon is as tall as the text around it and moves with it. An iconset's size overrides that rule with an inline style. The selector is deliberately svg.wdoc-icon — element and class — so it cannot touch a diagram icon, which is a <use> and not an <svg>.
currentColor is the whole colour story
Lucide draws with stroke="currentColor" and Bootstrap with fill="currentColor", and the sprite preserves those attributes. So one property — the CSS color of whatever contains the icon — recolours both packs, and an icon with no color of its own simply takes the colour of the text or the shape it sits in. That is why an icon in a themed callout is already the callout's colour, and why a class from Themes and styling restyles icons for free.
§ 8The shared sprite
No glyph is ever copied into a page. Each use emits a <use href="_wdoc/icons.svg#pack-name"/>, and after every page has rendered, the build writes one _wdoc/icons.svg holding a <symbol> for each icon that was actually used. A document that references four icons ships four symbols, out of the 3789 available.
The symbol is the pack's own SVG with its root tag rewritten. viewBox is kept; presentation attributes — fill, stroke, stroke-width, stroke-linecap — are kept, because they are what makes the glyph draw; width, height, xmlns, id, class, role, aria-hidden and focusable are dropped, because the <use> supplies the size and the rest is noise. The id is {pack}-{name}.
<svg xmlns="http://www.w3.org/2000/svg" style="display:none">
<symbol id="lucide-heart" viewBox="0 0 24 24" fill="none"
stroke="currentColor" stroke-width="2"
stroke-linecap="round" stroke-linejoin="round">
<path d="M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 …" />
</symbol>
…
</svg>
Three facts follow from the sprite being a separate file. A page with fifty repetitions of one icon carries fifty short <use> elements and one copy of the path data. The href is written relative, _wdoc/icons.svg, so it resolves both under the dev server and on a static host. And it is a fetch, which means the icons appear when the output is served rather than when a page file is opened directly from disk.
A malformed glyph is dropped, not fatal
If a pack SVG has no root <svg> tag and no usable viewBox (and no width/height pair to synthesise one from), the icon is left out of the sprite and the <use> referring to it renders nothing. Nothing about icons fails a build — not a missing name, not a malformed glyph, not an unknown set.
§ 8.1One registry, every surface
There is exactly one icon registry per build. The renderer threads it through as patterns.icons(), and every surface that can name an icon asks the same object: the inline pattern engine, the diagram shape renderer, the badge renderer, a callout's default glyph, a sidebar_footer button's icon, and the icon(name, class) constructor available to your own blocks. One consequence matters in practice — the sprite is complete because everything records its usage in the same place, so a glyph that only a callout asked for is still in the file.
§ 9Icons across the three output targets
Icons are one of the features where the three targets genuinely differ, so it is worth seeing all three at once. Output targets covers the targets themselves.
| Target | Inline :name: | Diagram and badge icons | The sprite |
|---|---|---|---|
| HTML | <svg class="wdoc-icon"><use …/></svg>, sized 1em | <use> inside the page's SVG | Written to _wdoc/icons.svg |
| The pack glyph embedded directly, one em tall, painted in the page's foreground colour | The <symbol>s are spliced into the embedded SVG's <defs> and the sprite href rewritten to a local #id | None — there is no file to fetch | |
| Markdown | Degrades to the literal :name: text | Survives: the diagram is exported as an .svg file that references the sprite | Written to _wdoc/icons.svg |
Two of those rows deserve a sentence each. In PDF there is no sprite file to fetch, so the glyph must travel inside the document. An inline icon is embedded as the raw pack glyph, so an iconset's size and color do not reach it: it is one em tall, and it is the page's text colour. In Markdown the inline pattern has nowhere to go, because GitHub-flavoured Markdown has no inline SVG. The token you wrote comes back out as text. Diagrams are unaffected either way, because a diagram was always going to be an image.
Build the file from the top of this chapter as Markdown and the difference is plain:
$ wcl wdoc markdown icons.wcl --out md
wrote 1 page
$ cat md/lab.md
# Icon lab
Bare :heart:, prefixed :bootstrap.house:, and a time like 10:30 that stays prose.

If an icon has to survive into Markdown, put it in a diagram, or use a text marker instead. Visibility is the other tool here — @except(backends = [:markdown]) on the block that carries the decorative icon, and a plain-text block in its place — but note that the axis is per block, and an inline :name: is not a block. A paragraph is the smallest thing you can hide.
§ 10Icons in your own blocks
A block you declare yourself lowers to the HTML vocabulary, and that vocabulary has an icon in it. The icon(name, class) constructor builds one:
@block("status")
type Status extends ContentBlock {
@inline(0) label: utf8
glyph: utf8?
lower = fn(s: &Status) -> list<Html>
[el("span", ["status"], [
icon(s.glyph ?? "lucide.circle-check", ["status-glyph"]),
inl(s.label),
])]
}
The name resolves through the same registry and by the same rules, and it records its usage, so a glyph only your block asks for is still in the sprite. icon() is also the constructor that carries the compiled-in pack fallback: a pack.name that no declared set covers still resolves, exactly as a callout's default glyph does. A name that even that cannot place emits nothing rather than failing. Writing your own blocks covers the lowering interface, and inl alongside icon in the el family.
The other route needs no lowering at all. Because Html::Inline and every prose string run through the inline pattern engine, a block that emits prose gets :name: support for nothing.
§ 11All Lucide icons
Every icon in the bundled Lucide pack (1711). Reference one inline as :lucide.<name>:, or as a shape badge / icon block with lucide.<name>.
| a-arrow-down | a-arrow-up | a-large-small | accessibility |
| activity | air-vent | airplay | alarm-clock |
| alarm-clock-check | alarm-clock-minus | alarm-clock-off | alarm-clock-plus |
| alarm-smoke | album | align-center-horizontal | align-center-vertical |
| align-end-horizontal | align-end-vertical | align-horizontal-distribute-center | align-horizontal-distribute-end |
| align-horizontal-distribute-start | align-horizontal-justify-center | align-horizontal-justify-end | align-horizontal-justify-start |
| align-horizontal-space-around | align-horizontal-space-between | align-start-horizontal | align-start-vertical |
| align-vertical-distribute-center | align-vertical-distribute-end | align-vertical-distribute-start | align-vertical-justify-center |
| align-vertical-justify-end | align-vertical-justify-start | align-vertical-space-around | align-vertical-space-between |
| ambulance | ampersand | ampersands | amphora |
| anchor | angry | annoyed | antenna |
| anvil | aperture | app-window | app-window-mac |
| apple | archive | archive-restore | archive-x |
| armchair | arrow-big-down | arrow-big-down-dash | arrow-big-left |
| arrow-big-left-dash | arrow-big-right | arrow-big-right-dash | arrow-big-up |
| arrow-big-up-dash | arrow-down | arrow-down-0-1 | arrow-down-1-0 |
| arrow-down-a-z | arrow-down-from-line | arrow-down-left | arrow-down-narrow-wide |
| arrow-down-right | arrow-down-to-dot | arrow-down-to-line | arrow-down-up |
| arrow-down-wide-narrow | arrow-down-z-a | arrow-left | arrow-left-from-line |
| arrow-left-right | arrow-left-to-line | arrow-right | arrow-right-from-line |
| arrow-right-left | arrow-right-to-line | arrow-up | arrow-up-0-1 |
| arrow-up-1-0 | arrow-up-a-z | arrow-up-down | arrow-up-from-dot |
| arrow-up-from-line | arrow-up-left | arrow-up-narrow-wide | arrow-up-right |
| arrow-up-to-line | arrow-up-wide-narrow | arrow-up-z-a | arrows-up-from-line |
| asterisk | astroid | at-sign | atom |
| audio-lines | audio-waveform | award | axe |
| axis-3d | baby | backpack | badge |
| badge-alert | badge-cent | badge-check | badge-dollar-sign |
| badge-euro | badge-indian-rupee | badge-info | badge-japanese-yen |
| badge-minus | badge-percent | badge-plus | badge-pound-sterling |
| badge-question-mark | badge-russian-ruble | badge-swiss-franc | badge-turkish-lira |
| badge-x | baggage-claim | balloon | ban |
| banana | bandage | banknote | banknote-arrow-down |
| banknote-arrow-up | banknote-x | barcode | barrel |
| baseline | bath | battery | battery-charging |
| battery-full | battery-low | battery-medium | battery-plus |
| battery-warning | beaker | bean | bean-off |
| bed | bed-double | bed-single | beef |
| beef-off | beer | beer-off | bell |
| bell-check | bell-dot | bell-electric | bell-minus |
| bell-off | bell-plus | bell-ring | between-horizontal-end |
| between-horizontal-start | between-vertical-end | between-vertical-start | biceps-flexed |
| bike | binary | binoculars | biohazard |
| bird | birdhouse | bitcoin | blend |
| blender | blinds | blocks | bluetooth |
| bluetooth-connected | bluetooth-off | bluetooth-searching | bold |
| bolt | bomb | bone | book |
| book-a | book-alert | book-audio | book-check |
| book-copy | book-dashed | book-down | book-headphones |
| book-heart | book-image | book-key | book-lock |
| book-marked | book-minus | book-open | book-open-check |
| book-open-text | book-plus | book-search | book-text |
| book-type | book-up | book-up-2 | book-user |
| book-x | bookmark | bookmark-check | bookmark-minus |
| bookmark-off | bookmark-plus | bookmark-x | boom-box |
| bot | bot-message-square | bot-off | bottle-wine |
| bow-arrow | box | boxes | braces |
| brackets | brain | brain-circuit | brain-cog |
| brick-wall | brick-wall-fire | brick-wall-shield | briefcase |
| briefcase-business | briefcase-conveyor-belt | briefcase-medical | bring-to-front |
| broccoli | brush | brush-cleaning | bubbles |
| bug | bug-off | bug-play | building |
| building-2 | bus | bus-front | cable |
| cable-car | cake | cake-slice | calculator |
| calendar | calendar-1 | calendar-arrow-down | calendar-arrow-up |
| calendar-check | calendar-check-2 | calendar-clock | calendar-cog |
| calendar-days | calendar-fold | calendar-heart | calendar-minus |
| calendar-minus-2 | calendar-off | calendar-plus | calendar-plus-2 |
| calendar-range | calendar-search | calendar-sync | calendar-x |
| calendar-x-2 | calendars | camera | camera-off |
| candy | candy-cane | candy-off | cannabis |
| cannabis-off | captions | captions-off | car |
| car-front | car-taxi-front | caravan | card-sim |
| carrot | case-lower | case-sensitive | case-upper |
| cassette-tape | cast | castle | cat |
| cctv | cctv-off | chart-area | chart-bar |
| chart-bar-big | chart-bar-decreasing | chart-bar-increasing | chart-bar-stacked |
| chart-candlestick | chart-column | chart-column-big | chart-column-decreasing |
| chart-column-increasing | chart-column-stacked | chart-gantt | chart-line |
| chart-network | chart-no-axes-column | chart-no-axes-column-decreasing | chart-no-axes-column-increasing |
| chart-no-axes-combined | chart-no-axes-gantt | chart-pie | chart-scatter |
| chart-spline | check | check-check | check-line |
| chef-hat | cherry | chess-bishop | chess-king |
| chess-knight | chess-pawn | chess-queen | chess-rook |
| chevron-down | chevron-first | chevron-last | chevron-left |
| chevron-right | chevron-up | chevrons-down | chevrons-down-up |
| chevrons-left | chevrons-left-right | chevrons-left-right-ellipsis | chevrons-right |
| chevrons-right-left | chevrons-up | chevrons-up-down | church |
| cigarette | cigarette-off | circle | circle-alert |
| circle-arrow-down | circle-arrow-left | circle-arrow-out-down-left | circle-arrow-out-down-right |
| circle-arrow-out-up-left | circle-arrow-out-up-right | circle-arrow-right | circle-arrow-up |
| circle-check | circle-check-big | circle-chevron-down | circle-chevron-left |
| circle-chevron-right | circle-chevron-up | circle-dashed | circle-divide |
| circle-dollar-sign | circle-dot | circle-dot-dashed | circle-ellipsis |
| circle-equal | circle-fading-arrow-up | circle-fading-plus | circle-gauge |
| circle-minus | circle-off | circle-parking | circle-parking-off |
| circle-pause | circle-percent | circle-pile | circle-play |
| circle-plus | circle-pound-sterling | circle-power | circle-question-mark |
| circle-slash | circle-slash-2 | circle-small | circle-star |
| circle-stop | circle-user | circle-user-round | circle-x |
| circuit-board | citrus | clapperboard | clipboard |
| clipboard-check | clipboard-clock | clipboard-copy | clipboard-list |
| clipboard-minus | clipboard-paste | clipboard-pen | clipboard-pen-line |
| clipboard-plus | clipboard-type | clipboard-x | clock |
| clock-1 | clock-10 | clock-11 | clock-12 |
| clock-2 | clock-3 | clock-4 | clock-5 |
| clock-6 | clock-7 | clock-8 | clock-9 |
| clock-alert | clock-arrow-down | clock-arrow-up | clock-check |
| clock-fading | clock-plus | closed-caption | cloud |
| cloud-alert | cloud-backup | cloud-check | cloud-cog |
| cloud-download | cloud-drizzle | cloud-fog | cloud-hail |
| cloud-lightning | cloud-moon | cloud-moon-rain | cloud-off |
| cloud-rain | cloud-rain-wind | cloud-snow | cloud-sun |
| cloud-sun-rain | cloud-sync | cloud-upload | cloudy |
| clover | club | code | code-xml |
| coffee | cog | coins | columns-2 |
| columns-3 | columns-3-cog | columns-4 | combine |
| command | compass | component | computer |
| concierge-bell | cone | construction | contact |
| contact-round | container | contrast | cookie |
| cooking-pot | copy | copy-check | copy-minus |
| copy-plus | copy-slash | copy-x | copyleft |
| copyright | corner-down-left | corner-down-right | corner-left-down |
| corner-left-up | corner-right-down | corner-right-up | corner-up-left |
| corner-up-right | cpu | creative-commons | credit-card |
| croissant | crop | cross | crosshair |
| crown | cuboid | cup-soda | currency |
| cylinder | dam | database | database-backup |
| database-search | database-zap | decimals-arrow-left | decimals-arrow-right |
| delete | dessert | diameter | diamond |
| diamond-minus | diamond-percent | diamond-plus | dice-1 |
| dice-2 | dice-3 | dice-4 | dice-5 |
| dice-6 | dices | diff | disc |
| disc-2 | disc-3 | disc-album | divide |
| dna | dna-off | dock | dog |
| dollar-sign | donut | door-closed | door-closed-locked |
| door-open | dot | download | drafting-compass |
| drama | drill | drone | droplet |
| droplet-off | droplets | drum | drumstick |
| dumbbell | ear | ear-off | earth |
| earth-lock | eclipse | egg | egg-fried |
| egg-off | ellipse | ellipsis | ellipsis-vertical |
| equal | equal-approximately | equal-not | eraser |
| ethernet-port | euro | ev-charger | expand |
| external-link | eye | eye-closed | eye-off |
| factory | fan | fast-forward | feather |
| fence | ferris-wheel | file | file-archive |
| file-axis-3d | file-badge | file-box | file-braces |
| file-braces-corner | file-chart-column | file-chart-column-increasing | file-chart-line |
| file-chart-pie | file-check | file-check-corner | file-clock |
| file-code | file-code-corner | file-cog | file-diff |
| file-digit | file-down | file-exclamation-point | file-headphone |
| file-heart | file-image | file-input | file-key |
| file-lock | file-minus | file-minus-corner | file-music |
| file-output | file-pen | file-pen-line | file-play |
| file-plus | file-plus-corner | file-question-mark | file-scan |
| file-search | file-search-corner | file-signal | file-sliders |
| file-spreadsheet | file-stack | file-symlink | file-terminal |
| file-text | file-type | file-type-corner | file-up |
| file-user | file-video-camera | file-volume | file-x |
| file-x-corner | files | film | fingerprint-pattern |
| fire-extinguisher | fish | fish-off | fish-symbol |
| fishing-hook | fishing-rod | flag | flag-off |
| flag-triangle-left | flag-triangle-right | flame | flame-kindling |
| flashlight | flashlight-off | flask-conical | flask-conical-off |
| flask-round | flip-horizontal-2 | flip-vertical-2 | flower |
| flower-2 | focus | fold-horizontal | fold-vertical |
| folder | folder-archive | folder-bookmark | folder-check |
| folder-clock | folder-closed | folder-code | folder-cog |
| folder-dot | folder-down | folder-git | folder-git-2 |
| folder-heart | folder-input | folder-kanban | folder-key |
| folder-lock | folder-minus | folder-open | folder-open-dot |
| folder-output | folder-pen | folder-plus | folder-root |
| folder-search | folder-search-2 | folder-symlink | folder-sync |
| folder-tree | folder-up | folder-x | folders |
| footprints | forklift | form | forward |
| frame | frown | fuel | fullscreen |
| funnel | funnel-plus | funnel-x | gallery-horizontal |
| gallery-horizontal-end | gallery-thumbnails | gallery-vertical | gallery-vertical-end |
| gamepad | gamepad-2 | gamepad-directional | gauge |
| gavel | gem | georgian-lari | ghost |
| gift | git-branch | git-branch-minus | git-branch-plus |
| git-commit-horizontal | git-commit-vertical | git-compare | git-compare-arrows |
| git-fork | git-graph | git-merge | git-merge-conflict |
| git-pull-request | git-pull-request-arrow | git-pull-request-closed | git-pull-request-create |
| git-pull-request-create-arrow | git-pull-request-draft | glass-water | glasses |
| globe | globe-lock | globe-off | globe-x |
| goal | gpu | graduation-cap | grape |
| grid-2x2 | grid-2x2-check | grid-2x2-plus | grid-2x2-x |
| grid-3x2 | grid-3x3 | grip | grip-horizontal |
| grip-vertical | group | guitar | ham |
| hamburger | hammer | hand | hand-coins |
| hand-fist | hand-grab | hand-heart | hand-helping |
| hand-metal | hand-platter | handbag | handshake |
| hard-drive | hard-drive-download | hard-drive-upload | hard-hat |
| hash | hat-glasses | haze | hd |
| hdmi-port | heading | heading-1 | heading-2 |
| heading-3 | heading-4 | heading-5 | heading-6 |
| headphone-off | headphones | headset | heart |
| heart-crack | heart-handshake | heart-minus | heart-off |
| heart-plus | heart-pulse | heart-x | heater |
| helicopter | hexagon | highlighter | history |
| hop | hop-off | hospital | hotel |
| hourglass | house | house-heart | house-plug |
| house-plus | house-wifi | ice-cream-bowl | ice-cream-cone |
| id-card | id-card-lanyard | image | image-down |
| image-minus | image-off | image-play | image-plus |
| image-up | image-upscale | images | import |
| inbox | indian-rupee | infinity | info |
| inspection-panel | italic | iteration-ccw | iteration-cw |
| japanese-yen | joystick | kanban | kayak |
| key | key-round | key-square | keyboard |
| keyboard-music | keyboard-off | lamp | lamp-ceiling |
| lamp-desk | lamp-floor | lamp-wall-down | lamp-wall-up |
| land-plot | landmark | languages | laptop |
| laptop-minimal | laptop-minimal-check | lasso | lasso-select |
| laugh | layers | layers-2 | layers-minus |
| layers-plus | layout-dashboard | layout-grid | layout-list |
| layout-panel-left | layout-panel-top | layout-template | leaf |
| leafy-green | lectern | lens-concave | lens-convex |
| library | library-big | life-buoy | ligature |
| lightbulb | lightbulb-off | line-dot-right-horizontal | line-squiggle |
| line-style | link | link-2 | link-2-off |
| list | list-check | list-checks | list-chevrons-down-up |
| list-chevrons-up-down | list-collapse | list-end | list-filter |
| list-filter-plus | list-indent-decrease | list-indent-increase | list-minus |
| list-music | list-ordered | list-plus | list-restart |
| list-start | list-todo | list-tree | list-video |
| list-x | loader | loader-circle | loader-pinwheel |
| locate | locate-fixed | locate-off | lock |
| lock-keyhole | lock-keyhole-open | lock-open | log-in |
| log-out | logs | lollipop | luggage |
| magnet | mail-check | mail-minus | |
| mail-open | mail-plus | mail-question-mark | mail-search |
| mail-warning | mail-x | mailbox | mails |
| map | map-minus | map-pin | map-pin-check |
| map-pin-check-inside | map-pin-house | map-pin-minus | map-pin-minus-inside |
| map-pin-off | map-pin-pen | map-pin-plus | map-pin-plus-inside |
| map-pin-search | map-pin-x | map-pin-x-inside | map-pinned |
| map-plus | mars | mars-stroke | martini |
| maximize | maximize-2 | medal | megaphone |
| megaphone-off | meh | memory-stick | menu |
| merge | message-circle | message-circle-check | message-circle-code |
| message-circle-dashed | message-circle-heart | message-circle-more | message-circle-off |
| message-circle-plus | message-circle-question-mark | message-circle-reply | message-circle-warning |
| message-circle-x | message-square | message-square-check | message-square-code |
| message-square-dashed | message-square-diff | message-square-dot | message-square-heart |
| message-square-lock | message-square-more | message-square-off | message-square-plus |
| message-square-quote | message-square-reply | message-square-share | message-square-text |
| message-square-warning | message-square-x | messages-square | metronome |
| mic | mic-off | mic-vocal | microchip |
| microscope | microwave | milestone | milk |
| milk-off | minimize | minimize-2 | minus |
| mirror-rectangular | mirror-round | monitor | monitor-check |
| monitor-cloud | monitor-cog | monitor-dot | monitor-down |
| monitor-off | monitor-pause | monitor-play | monitor-smartphone |
| monitor-speaker | monitor-stop | monitor-up | monitor-x |
| moon | moon-star | motorbike | mountain |
| mountain-snow | mouse | mouse-left | mouse-off |
| mouse-pointer | mouse-pointer-2 | mouse-pointer-2-off | mouse-pointer-ban |
| mouse-pointer-click | mouse-right | move | move-3d |
| move-diagonal | move-diagonal-2 | move-down | move-down-left |
| move-down-right | move-horizontal | move-left | move-right |
| move-up | move-up-left | move-up-right | move-vertical |
| music | music-2 | music-3 | music-4 |
| navigation | navigation-2 | navigation-2-off | navigation-off |
| network | newspaper | nfc | non-binary |
| notebook | notebook-pen | notebook-tabs | notebook-text |
| notepad-text | notepad-text-dashed | nut | nut-off |
| octagon | octagon-alert | octagon-minus | octagon-pause |
| octagon-x | omega | option | orbit |
| origami | package | package-2 | package-check |
| package-minus | package-open | package-plus | package-search |
| package-x | paint-bucket | paint-roller | paintbrush |
| paintbrush-vertical | palette | panda | panel-bottom |
| panel-bottom-close | panel-bottom-dashed | panel-bottom-open | panel-left |
| panel-left-close | panel-left-dashed | panel-left-open | panel-left-right-dashed |
| panel-right | panel-right-close | panel-right-dashed | panel-right-open |
| panel-top | panel-top-bottom-dashed | panel-top-close | panel-top-dashed |
| panel-top-open | panels-left-bottom | panels-right-bottom | panels-top-left |
| paperclip | parentheses | parking-meter | party-popper |
| pause | paw-print | pc-case | pen |
| pen-line | pen-off | pen-tool | pencil |
| pencil-line | pencil-off | pencil-ruler | pentagon |
| percent | person-standing | philippine-peso | phone |
| phone-call | phone-forwarded | phone-incoming | phone-missed |
| phone-off | phone-outgoing | pi | piano |
| pickaxe | picture-in-picture | picture-in-picture-2 | piggy-bank |
| pilcrow | pilcrow-left | pilcrow-right | pill |
| pill-bottle | pin | pin-off | pipette |
| pizza | plane | plane-landing | plane-takeoff |
| play | plug | plug-2 | plug-zap |
| plus | pocket-knife | podcast | pointer |
| pointer-off | popcorn | popsicle | pound-sterling |
| power | power-off | presentation | printer |
| printer-check | printer-x | projector | proportions |
| puzzle | pyramid | qr-code | quote |
| rabbit | radar | radiation | radical |
| radio | radio-off | radio-receiver | radio-tower |
| radius | rainbow | rat | ratio |
| receipt | receipt-cent | receipt-euro | receipt-indian-rupee |
| receipt-japanese-yen | receipt-pound-sterling | receipt-russian-ruble | receipt-swiss-franc |
| receipt-text | receipt-turkish-lira | rectangle-circle | rectangle-ellipsis |
| rectangle-goggles | rectangle-horizontal | rectangle-vertical | recycle |
| redo | redo-2 | redo-dot | refresh-ccw |
| refresh-ccw-dot | refresh-cw | refresh-cw-off | refrigerator |
| regex | remove-formatting | repeat | repeat-1 |
| repeat-2 | repeat-off | replace | replace-all |
| reply | reply-all | rewind | ribbon |
| road | rocket | rocking-chair | roller-coaster |
| rose | rotate-3d | rotate-ccw | rotate-ccw-key |
| rotate-ccw-square | rotate-cw | rotate-cw-square | route |
| route-off | router | rows-2 | rows-3 |
| rows-4 | rss | ruler | ruler-dimension-line |
| russian-ruble | sailboat | salad | sandwich |
| satellite | satellite-dish | saudi-riyal | save |
| save-all | save-off | scale | scale-3d |
| scaling | scan | scan-barcode | scan-eye |
| scan-face | scan-heart | scan-line | scan-qr-code |
| scan-search | scan-text | school | scissors |
| scissors-line-dashed | scooter | screen-share | screen-share-off |
| scroll | scroll-text | search | search-alert |
| search-check | search-code | search-slash | search-x |
| section | send | send-horizontal | send-to-back |
| separator-horizontal | separator-vertical | server | server-cog |
| server-crash | server-off | settings | settings-2 |
| shapes | share | share-2 | sheet |
| shell | shelving-unit | shield | shield-alert |
| shield-ban | shield-check | shield-cog | shield-cog-corner |
| shield-ellipsis | shield-half | shield-minus | shield-off |
| shield-plus | shield-question-mark | shield-user | shield-x |
| ship | ship-wheel | shirt | shopping-bag |
| shopping-basket | shopping-cart | shovel | shower-head |
| shredder | shrimp | shrink | shrub |
| shuffle | sigma | signal | signal-high |
| signal-low | signal-medium | signal-zero | signature |
| signpost | signpost-big | siren | skip-back |
| skip-forward | skull | slash | slice |
| sliders-horizontal | sliders-vertical | smartphone | smartphone-charging |
| smartphone-nfc | smile | smile-plus | snail |
| snowflake | soap-dispenser-droplet | sofa | solar-panel |
| soup | space | spade | sparkle |
| sparkles | speaker | speech | spell-check |
| spell-check-2 | spline | spline-pointer | split |
| spool | sport-shoe | spotlight | spray-can |
| sprout | square | square-activity | square-arrow-down |
| square-arrow-down-left | square-arrow-down-right | square-arrow-left | square-arrow-out-down-left |
| square-arrow-out-down-right | square-arrow-out-up-left | square-arrow-out-up-right | square-arrow-right |
| square-arrow-right-enter | square-arrow-right-exit | square-arrow-up | square-arrow-up-left |
| square-arrow-up-right | square-asterisk | square-bottom-dashed-scissors | square-centerline-dashed-horizontal |
| square-centerline-dashed-vertical | square-chart-gantt | square-check | square-check-big |
| square-chevron-down | square-chevron-left | square-chevron-right | square-chevron-up |
| square-code | square-dashed | square-dashed-bottom | square-dashed-bottom-code |
| square-dashed-kanban | square-dashed-mouse-pointer | square-dashed-text | square-dashed-top-solid |
| square-divide | square-dot | square-equal | square-function |
| square-kanban | square-library | square-m | square-menu |
| square-minus | square-mouse-pointer | square-parking | square-parking-off |
| square-pause | square-pen | square-percent | square-pi |
| square-pilcrow | square-play | square-plus | square-power |
| square-radical | square-round-corner | square-scissors | square-sigma |
| square-slash | square-split-horizontal | square-split-vertical | square-square |
| square-stack | square-star | square-stop | square-terminal |
| square-user | square-user-round | square-x | squares-exclude |
| squares-intersect | squares-subtract | squares-unite | squircle |
| squircle-dashed | squirrel | stamp | star |
| star-half | star-off | step-back | step-forward |
| stethoscope | sticker | sticky-note | sticky-note-check |
| sticky-note-minus | sticky-note-off | sticky-note-plus | sticky-note-x |
| sticky-notes | stone | store | stretch-horizontal |
| stretch-vertical | strikethrough | subscript | sun |
| sun-dim | sun-medium | sun-moon | sun-snow |
| sunrise | sunset | superscript | swatch-book |
| swiss-franc | switch-camera | sword | swords |
| syringe | table | table-2 | table-cells-merge |
| table-cells-split | table-columns-split | table-of-contents | table-properties |
| table-rows-split | tablet | tablet-smartphone | tablets |
| tag | tags | tally-1 | tally-2 |
| tally-3 | tally-4 | tally-5 | tangent |
| target | telescope | tent | tent-tree |
| terminal | test-tube | test-tube-diagonal | test-tubes |
| text-align-center | text-align-end | text-align-justify | text-align-start |
| text-cursor | text-cursor-input | text-initial | text-quote |
| text-search | text-wrap | theater | thermometer |
| thermometer-snowflake | thermometer-sun | thumbs-down | thumbs-up |
| ticket | ticket-check | ticket-minus | ticket-percent |
| ticket-plus | ticket-slash | ticket-x | tickets |
| tickets-plane | timeline | timer | timer-off |
| timer-reset | toggle-left | toggle-right | toilet |
| tool-case | toolbox | tornado | torus |
| touchpad | touchpad-off | towel-rack | tower-control |
| toy-brick | tractor | traffic-cone | train-front |
| train-front-tunnel | train-track | tram-front | transgender |
| trash | trash-2 | tree-deciduous | tree-palm |
| tree-pine | trees | trending-down | trending-up |
| trending-up-down | triangle | triangle-alert | triangle-dashed |
| triangle-right | trophy | truck | truck-electric |
| turkish-lira | turntable | turtle | tv |
| tv-minimal | tv-minimal-play | type | type-outline |
| umbrella | umbrella-off | underline | undo |
| undo-2 | undo-dot | unfold-horizontal | unfold-vertical |
| ungroup | university | unlink | unlink-2 |
| unplug | upload | usb | user |
| user-check | user-cog | user-key | user-lock |
| user-minus | user-pen | user-plus | user-round |
| user-round-check | user-round-cog | user-round-key | user-round-minus |
| user-round-pen | user-round-plus | user-round-search | user-round-x |
| user-search | user-star | user-x | users |
| users-round | utensils | utensils-crossed | utility-pole |
| van | variable | vault | vector-square |
| vegan | venetian-mask | venus | venus-and-mars |
| vibrate | vibrate-off | video | video-off |
| videotape | view | voicemail | volleyball |
| volume | volume-1 | volume-2 | volume-off |
| volume-x | vote | wallet | wallet-cards |
| wallet-minimal | wallpaper | wand | wand-sparkles |
| warehouse | washing-machine | watch | waves-arrow-down |
| waves-arrow-up | waves-horizontal | waves-ladder | waves-vertical |
| waypoints | webcam | webhook | webhook-off |
| weight | weight-tilde | wheat | wheat-off |
| whole-word | wifi | wifi-cog | wifi-high |
| wifi-low | wifi-off | wifi-pen | wifi-sync |
| wifi-zero | wind | wind-arrow-down | wine |
| wine-off | workflow | worm | wrench |
| x | x-line-top | zap | zap-off |
| zodiac-aquarius | zodiac-aries | zodiac-cancer | zodiac-capricorn |
| zodiac-gemini | zodiac-leo | zodiac-libra | zodiac-ophiuchus |
| zodiac-pisces | zodiac-sagittarius | zodiac-scorpio | zodiac-taurus |
| zodiac-virgo | zoom-in | zoom-out |
§ 12All Bootstrap icons
Every icon in the bundled Bootstrap Icons pack (2078). Reference one inline as :bootstrap.<name>:, or as a shape badge / icon block with bootstrap.<name>.
| 0-circle | 0-circle-fill | 0-square | 0-square-fill |
| 1-circle | 1-circle-fill | 1-square | 1-square-fill |
| 123 | 2-circle | 2-circle-fill | 2-square |
| 2-square-fill | 3-circle | 3-circle-fill | 3-square |
| 3-square-fill | 4-circle | 4-circle-fill | 4-square |
| 4-square-fill | 5-circle | 5-circle-fill | 5-square |
| 5-square-fill | 6-circle | 6-circle-fill | 6-square |
| 6-square-fill | 7-circle | 7-circle-fill | 7-square |
| 7-square-fill | 8-circle | 8-circle-fill | 8-square |
| 8-square-fill | 9-circle | 9-circle-fill | 9-square |
| 9-square-fill | activity | airplane | airplane-engines |
| airplane-engines-fill | airplane-fill | alarm | alarm-fill |
| alexa | align-bottom | align-center | align-end |
| align-middle | align-start | align-top | alipay |
| alphabet | alphabet-uppercase | alt | amazon |
| amd | android | android2 | anthropic |
| app | app-indicator | apple | apple-music |
| archive | archive-fill | arrow-90deg-down | arrow-90deg-left |
| arrow-90deg-right | arrow-90deg-up | arrow-bar-down | arrow-bar-left |
| arrow-bar-right | arrow-bar-up | arrow-clockwise | arrow-counterclockwise |
| arrow-down | arrow-down-circle | arrow-down-circle-fill | arrow-down-left |
| arrow-down-left-circle | arrow-down-left-circle-fill | arrow-down-left-square | arrow-down-left-square-fill |
| arrow-down-right | arrow-down-right-circle | arrow-down-right-circle-fill | arrow-down-right-square |
| arrow-down-right-square-fill | arrow-down-short | arrow-down-square | arrow-down-square-fill |
| arrow-down-up | arrow-left | arrow-left-circle | arrow-left-circle-fill |
| arrow-left-right | arrow-left-short | arrow-left-square | arrow-left-square-fill |
| arrow-repeat | arrow-return-left | arrow-return-right | arrow-right |
| arrow-right-circle | arrow-right-circle-fill | arrow-right-short | arrow-right-square |
| arrow-right-square-fill | arrow-through-heart | arrow-through-heart-fill | arrow-up |
| arrow-up-circle | arrow-up-circle-fill | arrow-up-left | arrow-up-left-circle |
| arrow-up-left-circle-fill | arrow-up-left-square | arrow-up-left-square-fill | arrow-up-right |
| arrow-up-right-circle | arrow-up-right-circle-fill | arrow-up-right-square | arrow-up-right-square-fill |
| arrow-up-short | arrow-up-square | arrow-up-square-fill | arrows |
| arrows-angle-contract | arrows-angle-expand | arrows-collapse | arrows-collapse-vertical |
| arrows-expand | arrows-expand-vertical | arrows-fullscreen | arrows-move |
| arrows-vertical | aspect-ratio | aspect-ratio-fill | asterisk |
| at | award | award-fill | back |
| backpack | backpack-fill | backpack2 | backpack2-fill |
| backpack3 | backpack3-fill | backpack4 | backpack4-fill |
| backspace | backspace-fill | backspace-reverse | backspace-reverse-fill |
| badge-3d | badge-3d-fill | badge-4k | badge-4k-fill |
| badge-8k | badge-8k-fill | badge-ad | badge-ad-fill |
| badge-ar | badge-ar-fill | badge-cc | badge-cc-fill |
| badge-hd | badge-hd-fill | badge-sd | badge-sd-fill |
| badge-tm | badge-tm-fill | badge-vo | badge-vo-fill |
| badge-vr | badge-vr-fill | badge-wc | badge-wc-fill |
| bag | bag-check | bag-check-fill | bag-dash |
| bag-dash-fill | bag-fill | bag-heart | bag-heart-fill |
| bag-plus | bag-plus-fill | bag-x | bag-x-fill |
| balloon | balloon-fill | balloon-heart | balloon-heart-fill |
| ban | ban-fill | bandaid | bandaid-fill |
| bank | bank2 | bar-chart | bar-chart-fill |
| bar-chart-line | bar-chart-line-fill | bar-chart-steps | basket |
| basket-fill | basket2 | basket2-fill | basket3 |
| basket3-fill | battery | battery-charging | battery-full |
| battery-half | battery-low | beaker | beaker-fill |
| behance | bell | bell-fill | bell-slash |
| bell-slash-fill | bezier | bezier2 | bicycle |
| bing | binoculars | binoculars-fill | blockquote-left |
| blockquote-right | bluesky | bluetooth | body-text |
| book | book-fill | book-half | bookmark |
| bookmark-check | bookmark-check-fill | bookmark-dash | bookmark-dash-fill |
| bookmark-fill | bookmark-heart | bookmark-heart-fill | bookmark-plus |
| bookmark-plus-fill | bookmark-star | bookmark-star-fill | bookmark-x |
| bookmark-x-fill | bookmarks | bookmarks-fill | bookshelf |
| boombox | boombox-fill | bootstrap | bootstrap-fill |
| bootstrap-reboot | border | border-all | border-bottom |
| border-center | border-inner | border-left | border-middle |
| border-outer | border-right | border-style | border-top |
| border-width | bounding-box | bounding-box-circles | box |
| box-arrow-down | box-arrow-down-left | box-arrow-down-right | box-arrow-in-down |
| box-arrow-in-down-left | box-arrow-in-down-right | box-arrow-in-left | box-arrow-in-right |
| box-arrow-in-up | box-arrow-in-up-left | box-arrow-in-up-right | box-arrow-left |
| box-arrow-right | box-arrow-up | box-arrow-up-left | box-arrow-up-right |
| box-fill | box-seam | box-seam-fill | box2 |
| box2-fill | box2-heart | box2-heart-fill | boxes |
| braces | braces-asterisk | bricks | briefcase |
| briefcase-fill | brightness-alt-high | brightness-alt-high-fill | brightness-alt-low |
| brightness-alt-low-fill | brightness-high | brightness-high-fill | brightness-low |
| brightness-low-fill | brilliance | broadcast | broadcast-pin |
| browser-chrome | browser-edge | browser-firefox | browser-safari |
| brush | brush-fill | bucket | bucket-fill |
| bug | bug-fill | building | building-add |
| building-check | building-dash | building-down | building-exclamation |
| building-fill | building-fill-add | building-fill-check | building-fill-dash |
| building-fill-down | building-fill-exclamation | building-fill-gear | building-fill-lock |
| building-fill-slash | building-fill-up | building-fill-x | building-gear |
| building-lock | building-slash | building-up | building-x |
| buildings | buildings-fill | bullseye | bus-front |
| bus-front-fill | c-circle | c-circle-fill | c-square |
| c-square-fill | cake | cake-fill | cake2 |
| cake2-fill | calculator | calculator-fill | calendar |
| calendar-check | calendar-check-fill | calendar-date | calendar-date-fill |
| calendar-day | calendar-day-fill | calendar-event | calendar-event-fill |
| calendar-fill | calendar-heart | calendar-heart-fill | calendar-minus |
| calendar-minus-fill | calendar-month | calendar-month-fill | calendar-plus |
| calendar-plus-fill | calendar-range | calendar-range-fill | calendar-week |
| calendar-week-fill | calendar-x | calendar-x-fill | calendar2 |
| calendar2-check | calendar2-check-fill | calendar2-date | calendar2-date-fill |
| calendar2-day | calendar2-day-fill | calendar2-event | calendar2-event-fill |
| calendar2-fill | calendar2-heart | calendar2-heart-fill | calendar2-minus |
| calendar2-minus-fill | calendar2-month | calendar2-month-fill | calendar2-plus |
| calendar2-plus-fill | calendar2-range | calendar2-range-fill | calendar2-week |
| calendar2-week-fill | calendar2-x | calendar2-x-fill | calendar3 |
| calendar3-event | calendar3-event-fill | calendar3-fill | calendar3-range |
| calendar3-range-fill | calendar3-week | calendar3-week-fill | calendar4 |
| calendar4-event | calendar4-range | calendar4-week | camera |
| camera-fill | camera-reels | camera-reels-fill | camera-video |
| camera-video-fill | camera-video-off | camera-video-off-fill | camera2 |
| capslock | capslock-fill | capsule | capsule-pill |
| car-front | car-front-fill | card-checklist | card-heading |
| card-image | card-list | card-text | caret-down |
| caret-down-fill | caret-down-square | caret-down-square-fill | caret-left |
| caret-left-fill | caret-left-square | caret-left-square-fill | caret-right |
| caret-right-fill | caret-right-square | caret-right-square-fill | caret-up |
| caret-up-fill | caret-up-square | caret-up-square-fill | cart |
| cart-check | cart-check-fill | cart-dash | cart-dash-fill |
| cart-fill | cart-plus | cart-plus-fill | cart-x |
| cart-x-fill | cart2 | cart3 | cart4 |
| cash | cash-coin | cash-stack | cassette |
| cassette-fill | cast | cc-circle | cc-circle-fill |
| cc-square | cc-square-fill | chat | chat-dots |
| chat-dots-fill | chat-fill | chat-heart | chat-heart-fill |
| chat-left | chat-left-dots | chat-left-dots-fill | chat-left-fill |
| chat-left-heart | chat-left-heart-fill | chat-left-quote | chat-left-quote-fill |
| chat-left-text | chat-left-text-fill | chat-quote | chat-quote-fill |
| chat-right | chat-right-dots | chat-right-dots-fill | chat-right-fill |
| chat-right-heart | chat-right-heart-fill | chat-right-quote | chat-right-quote-fill |
| chat-right-text | chat-right-text-fill | chat-square | chat-square-dots |
| chat-square-dots-fill | chat-square-fill | chat-square-heart | chat-square-heart-fill |
| chat-square-quote | chat-square-quote-fill | chat-square-text | chat-square-text-fill |
| chat-text | chat-text-fill | check | check-all |
| check-circle | check-circle-fill | check-lg | check-square |
| check-square-fill | check2 | check2-all | check2-circle |
| check2-square | chevron-bar-contract | chevron-bar-down | chevron-bar-expand |
| chevron-bar-left | chevron-bar-right | chevron-bar-up | chevron-compact-down |
| chevron-compact-left | chevron-compact-right | chevron-compact-up | chevron-contract |
| chevron-double-down | chevron-double-left | chevron-double-right | chevron-double-up |
| chevron-down | chevron-expand | chevron-left | chevron-right |
| chevron-up | circle | circle-fill | circle-half |
| circle-square | claude | clipboard | clipboard-check |
| clipboard-check-fill | clipboard-data | clipboard-data-fill | clipboard-fill |
| clipboard-heart | clipboard-heart-fill | clipboard-minus | clipboard-minus-fill |
| clipboard-plus | clipboard-plus-fill | clipboard-pulse | clipboard-x |
| clipboard-x-fill | clipboard2 | clipboard2-check | clipboard2-check-fill |
| clipboard2-data | clipboard2-data-fill | clipboard2-fill | clipboard2-heart |
| clipboard2-heart-fill | clipboard2-minus | clipboard2-minus-fill | clipboard2-plus |
| clipboard2-plus-fill | clipboard2-pulse | clipboard2-pulse-fill | clipboard2-x |
| clipboard2-x-fill | clock | clock-fill | clock-history |
| cloud | cloud-arrow-down | cloud-arrow-down-fill | cloud-arrow-up |
| cloud-arrow-up-fill | cloud-check | cloud-check-fill | cloud-download |
| cloud-download-fill | cloud-drizzle | cloud-drizzle-fill | cloud-fill |
| cloud-fog | cloud-fog-fill | cloud-fog2 | cloud-fog2-fill |
| cloud-hail | cloud-hail-fill | cloud-haze | cloud-haze-fill |
| cloud-haze2 | cloud-haze2-fill | cloud-lightning | cloud-lightning-fill |
| cloud-lightning-rain | cloud-lightning-rain-fill | cloud-minus | cloud-minus-fill |
| cloud-moon | cloud-moon-fill | cloud-plus | cloud-plus-fill |
| cloud-rain | cloud-rain-fill | cloud-rain-heavy | cloud-rain-heavy-fill |
| cloud-slash | cloud-slash-fill | cloud-sleet | cloud-sleet-fill |
| cloud-snow | cloud-snow-fill | cloud-sun | cloud-sun-fill |
| cloud-upload | cloud-upload-fill | clouds | clouds-fill |
| cloudy | cloudy-fill | code | code-slash |
| code-square | coin | collection | collection-fill |
| collection-play | collection-play-fill | columns | columns-gap |
| command | compass | compass-fill | cone |
| cone-striped | controller | cookie | copy |
| cpu | cpu-fill | credit-card | credit-card-2-back |
| credit-card-2-back-fill | credit-card-2-front | credit-card-2-front-fill | credit-card-fill |
| crop | crosshair | crosshair2 | css |
| cup | cup-fill | cup-hot | cup-hot-fill |
| cup-straw | currency-bitcoin | currency-dollar | currency-euro |
| currency-exchange | currency-pound | currency-rupee | currency-yen |
| cursor | cursor-fill | cursor-text | dash |
| dash-circle | dash-circle-dotted | dash-circle-fill | dash-lg |
| dash-square | dash-square-dotted | dash-square-fill | database |
| database-add | database-check | database-dash | database-down |
| database-exclamation | database-fill | database-fill-add | database-fill-check |
| database-fill-dash | database-fill-down | database-fill-exclamation | database-fill-gear |
| database-fill-lock | database-fill-slash | database-fill-up | database-fill-x |
| database-gear | database-lock | database-slash | database-up |
| database-x | device-hdd | device-hdd-fill | device-ssd |
| device-ssd-fill | diagram-2 | diagram-2-fill | diagram-3 |
| diagram-3-fill | diamond | diamond-fill | diamond-half |
| dice-1 | dice-1-fill | dice-2 | dice-2-fill |
| dice-3 | dice-3-fill | dice-4 | dice-4-fill |
| dice-5 | dice-5-fill | dice-6 | dice-6-fill |
| disc | disc-fill | discord | display |
| display-fill | displayport | displayport-fill | distribute-horizontal |
| distribute-vertical | door-closed | door-closed-fill | door-open |
| door-open-fill | dot | download | dpad |
| dpad-fill | dribbble | dropbox | droplet |
| droplet-fill | droplet-half | duffle | duffle-fill |
| ear | ear-fill | earbuds | easel |
| easel-fill | easel2 | easel2-fill | easel3 |
| easel3-fill | egg | egg-fill | egg-fried |
| eject | eject-fill | emoji-angry | emoji-angry-fill |
| emoji-astonished | emoji-astonished-fill | emoji-dizzy | emoji-dizzy-fill |
| emoji-expressionless | emoji-expressionless-fill | emoji-frown | emoji-frown-fill |
| emoji-grimace | emoji-grimace-fill | emoji-grin | emoji-grin-fill |
| emoji-heart-eyes | emoji-heart-eyes-fill | emoji-kiss | emoji-kiss-fill |
| emoji-laughing | emoji-laughing-fill | emoji-neutral | emoji-neutral-fill |
| emoji-smile | emoji-smile-fill | emoji-smile-upside-down | emoji-smile-upside-down-fill |
| emoji-sunglasses | emoji-sunglasses-fill | emoji-surprise | emoji-surprise-fill |
| emoji-tear | emoji-tear-fill | emoji-wink | emoji-wink-fill |
| envelope | envelope-arrow-down | envelope-arrow-down-fill | envelope-arrow-up |
| envelope-arrow-up-fill | envelope-at | envelope-at-fill | envelope-check |
| envelope-check-fill | envelope-dash | envelope-dash-fill | envelope-exclamation |
| envelope-exclamation-fill | envelope-fill | envelope-heart | envelope-heart-fill |
| envelope-open | envelope-open-fill | envelope-open-heart | envelope-open-heart-fill |
| envelope-paper | envelope-paper-fill | envelope-paper-heart | envelope-paper-heart-fill |
| envelope-plus | envelope-plus-fill | envelope-slash | envelope-slash-fill |
| envelope-x | envelope-x-fill | eraser | eraser-fill |
| escape | ethernet | ev-front | ev-front-fill |
| ev-station | ev-station-fill | exclamation | exclamation-circle |
| exclamation-circle-fill | exclamation-diamond | exclamation-diamond-fill | exclamation-lg |
| exclamation-octagon | exclamation-octagon-fill | exclamation-square | exclamation-square-fill |
| exclamation-triangle | exclamation-triangle-fill | exclude | explicit |
| explicit-fill | exposure | eye | eye-fill |
| eye-slash | eye-slash-fill | eyedropper | eyeglasses |
| fan | fast-forward | fast-forward-btn | |
| fast-forward-btn-fill | fast-forward-circle | fast-forward-circle-fill | fast-forward-fill |
| feather | feather2 | file | file-arrow-down |
| file-arrow-down-fill | file-arrow-up | file-arrow-up-fill | file-bar-graph |
| file-bar-graph-fill | file-binary | file-binary-fill | file-break |
| file-break-fill | file-check | file-check-fill | file-code |
| file-code-fill | file-diff | file-diff-fill | file-earmark |
| file-earmark-arrow-down | file-earmark-arrow-down-fill | file-earmark-arrow-up | file-earmark-arrow-up-fill |
| file-earmark-bar-graph | file-earmark-bar-graph-fill | file-earmark-binary | file-earmark-binary-fill |
| file-earmark-break | file-earmark-break-fill | file-earmark-check | file-earmark-check-fill |
| file-earmark-code | file-earmark-code-fill | file-earmark-diff | file-earmark-diff-fill |
| file-earmark-easel | file-earmark-easel-fill | file-earmark-excel | file-earmark-excel-fill |
| file-earmark-fill | file-earmark-font | file-earmark-font-fill | file-earmark-image |
| file-earmark-image-fill | file-earmark-lock | file-earmark-lock-fill | file-earmark-lock2 |
| file-earmark-lock2-fill | file-earmark-medical | file-earmark-medical-fill | file-earmark-minus |
| file-earmark-minus-fill | file-earmark-music | file-earmark-music-fill | file-earmark-pdf |
| file-earmark-pdf-fill | file-earmark-person | file-earmark-person-fill | file-earmark-play |
| file-earmark-play-fill | file-earmark-plus | file-earmark-plus-fill | file-earmark-post |
| file-earmark-post-fill | file-earmark-ppt | file-earmark-ppt-fill | file-earmark-richtext |
| file-earmark-richtext-fill | file-earmark-ruled | file-earmark-ruled-fill | file-earmark-slides |
| file-earmark-slides-fill | file-earmark-spreadsheet | file-earmark-spreadsheet-fill | file-earmark-text |
| file-earmark-text-fill | file-earmark-word | file-earmark-word-fill | file-earmark-x |
| file-earmark-x-fill | file-earmark-zip | file-earmark-zip-fill | file-easel |
| file-easel-fill | file-excel | file-excel-fill | file-fill |
| file-font | file-font-fill | file-image | file-image-fill |
| file-lock | file-lock-fill | file-lock2 | file-lock2-fill |
| file-medical | file-medical-fill | file-minus | file-minus-fill |
| file-music | file-music-fill | file-pdf | file-pdf-fill |
| file-person | file-person-fill | file-play | file-play-fill |
| file-plus | file-plus-fill | file-post | file-post-fill |
| file-ppt | file-ppt-fill | file-richtext | file-richtext-fill |
| file-ruled | file-ruled-fill | file-slides | file-slides-fill |
| file-spreadsheet | file-spreadsheet-fill | file-text | file-text-fill |
| file-word | file-word-fill | file-x | file-x-fill |
| file-zip | file-zip-fill | files | files-alt |
| filetype-aac | filetype-ai | filetype-bmp | filetype-cs |
| filetype-css | filetype-csv | filetype-doc | filetype-docx |
| filetype-exe | filetype-gif | filetype-heic | filetype-html |
| filetype-java | filetype-jpg | filetype-js | filetype-json |
| filetype-jsx | filetype-key | filetype-m4p | filetype-md |
| filetype-mdx | filetype-mov | filetype-mp3 | filetype-mp4 |
| filetype-otf | filetype-pdf | filetype-php | filetype-png |
| filetype-ppt | filetype-pptx | filetype-psd | filetype-py |
| filetype-raw | filetype-rb | filetype-sass | filetype-scss |
| filetype-sh | filetype-sql | filetype-svg | filetype-tiff |
| filetype-tsx | filetype-ttf | filetype-txt | filetype-wav |
| filetype-woff | filetype-xls | filetype-xlsx | filetype-xml |
| filetype-yml | film | filter | filter-circle |
| filter-circle-fill | filter-left | filter-right | filter-square |
| filter-square-fill | fingerprint | fire | flag |
| flag-fill | flask | flask-fill | flask-florence |
| flask-florence-fill | floppy | floppy-fill | floppy2 |
| floppy2-fill | flower1 | flower2 | flower3 |
| folder | folder-check | folder-fill | folder-minus |
| folder-plus | folder-symlink | folder-symlink-fill | folder-x |
| folder2 | folder2-open | fonts | fork-knife |
| forward | forward-fill | front | fuel-pump |
| fuel-pump-diesel | fuel-pump-diesel-fill | fuel-pump-fill | fullscreen |
| fullscreen-exit | funnel | funnel-fill | gear |
| gear-fill | gear-wide | gear-wide-connected | gem |
| gender-ambiguous | gender-female | gender-male | gender-neuter |
| gender-trans | geo | geo-alt | geo-alt-fill |
| geo-fill | gift | gift-fill | git |
| github | gitlab | globe | globe-americas |
| globe-americas-fill | globe-asia-australia | globe-asia-australia-fill | globe-central-south-asia |
| globe-central-south-asia-fill | globe-europe-africa | globe-europe-africa-fill | globe2 |
| google-play | gpu-card | graph-down | |
| graph-down-arrow | graph-up | graph-up-arrow | grid |
| grid-1x2 | grid-1x2-fill | grid-3x2 | grid-3x2-gap |
| grid-3x2-gap-fill | grid-3x3 | grid-3x3-gap | grid-3x3-gap-fill |
| grid-fill | grip-horizontal | grip-vertical | h-circle |
| h-circle-fill | h-square | h-square-fill | hammer |
| hand-index | hand-index-fill | hand-index-thumb | hand-index-thumb-fill |
| hand-thumbs-down | hand-thumbs-down-fill | hand-thumbs-up | hand-thumbs-up-fill |
| handbag | handbag-fill | hash | hdd |
| hdd-fill | hdd-network | hdd-network-fill | hdd-rack |
| hdd-rack-fill | hdd-stack | hdd-stack-fill | hdmi |
| hdmi-fill | headphones | headset | headset-vr |
| heart | heart-arrow | heart-fill | heart-half |
| heart-pulse | heart-pulse-fill | heartbreak | heartbreak-fill |
| hearts | heptagon | heptagon-fill | heptagon-half |
| hexagon | hexagon-fill | hexagon-half | highlighter |
| highlights | hospital | hospital-fill | hourglass |
| hourglass-bottom | hourglass-split | hourglass-top | house |
| house-add | house-add-fill | house-check | house-check-fill |
| house-dash | house-dash-fill | house-door | house-door-fill |
| house-down | house-down-fill | house-exclamation | house-exclamation-fill |
| house-fill | house-gear | house-gear-fill | house-heart |
| house-heart-fill | house-lock | house-lock-fill | house-slash |
| house-slash-fill | house-up | house-up-fill | house-x |
| house-x-fill | houses | houses-fill | hr |
| hurricane | hypnotize | image | image-alt |
| image-fill | images | inbox | inbox-fill |
| inboxes | inboxes-fill | incognito | indent |
| infinity | info | info-circle | info-circle-fill |
| info-lg | info-square | info-square-fill | input-cursor |
| input-cursor-text | intersect | javascript | |
| journal | journal-album | journal-arrow-down | journal-arrow-up |
| journal-bookmark | journal-bookmark-fill | journal-check | journal-code |
| journal-medical | journal-minus | journal-plus | journal-richtext |
| journal-text | journal-x | journals | joystick |
| justify | justify-left | justify-right | kanban |
| kanban-fill | key | key-fill | keyboard |
| keyboard-fill | ladder | lamp | lamp-fill |
| laptop | laptop-fill | layer-backward | layer-forward |
| layers | layers-fill | layers-half | layout-sidebar |
| layout-sidebar-inset | layout-sidebar-inset-reverse | layout-sidebar-reverse | layout-split |
| layout-text-sidebar | layout-text-sidebar-reverse | layout-text-window | layout-text-window-reverse |
| layout-three-columns | layout-wtf | leaf | leaf-fill |
| life-preserver | lightbulb | lightbulb-fill | lightbulb-off |
| lightbulb-off-fill | lightning | lightning-charge | lightning-charge-fill |
| lightning-fill | line | link | link-45deg |
| list | list-check | list-columns | |
| list-columns-reverse | list-nested | list-ol | list-stars |
| list-task | list-ul | lock | lock-fill |
| luggage | luggage-fill | lungs | lungs-fill |
| magic | magnet | magnet-fill | mailbox |
| mailbox-flag | mailbox2 | mailbox2-flag | map |
| map-fill | markdown | markdown-fill | marker-tip |
| mask | mastodon | measuring-cup | measuring-cup-fill |
| medium | megaphone | megaphone-fill | memory |
| menu-app | menu-app-fill | menu-button | menu-button-fill |
| menu-button-wide | menu-button-wide-fill | menu-down | menu-up |
| messenger | meta | mic | mic-fill |
| mic-mute | mic-mute-fill | microsoft | microsoft-teams |
| minecart | minecart-loaded | modem | modem-fill |
| moisture | moon | moon-fill | moon-stars |
| moon-stars-fill | mortarboard | mortarboard-fill | motherboard |
| motherboard-fill | mouse | mouse-fill | mouse2 |
| mouse2-fill | mouse3 | mouse3-fill | music-note |
| music-note-beamed | music-note-list | music-player | music-player-fill |
| newspaper | nintendo-switch | node-minus | node-minus-fill |
| node-plus | node-plus-fill | noise-reduction | nut |
| nut-fill | nvidia | nvme | nvme-fill |
| octagon | octagon-fill | octagon-half | openai |
| opencollective | optical-audio | optical-audio-fill | option |
| outlet | p-circle | p-circle-fill | p-square |
| p-square-fill | paint-bucket | palette | palette-fill |
| palette2 | paperclip | paragraph | pass |
| pass-fill | passport | passport-fill | patch-check |
| patch-check-fill | patch-exclamation | patch-exclamation-fill | patch-minus |
| patch-minus-fill | patch-plus | patch-plus-fill | patch-question |
| patch-question-fill | pause | pause-btn | pause-btn-fill |
| pause-circle | pause-circle-fill | pause-fill | paypal |
| pc | pc-display | pc-display-horizontal | pc-horizontal |
| pci-card | pci-card-network | pci-card-sound | peace |
| peace-fill | pen | pen-fill | pencil |
| pencil-fill | pencil-square | pentagon | pentagon-fill |
| pentagon-half | people | people-fill | percent |
| perplexity | person | person-add | person-arms-up |
| person-badge | person-badge-fill | person-bounding-box | person-check |
| person-check-fill | person-circle | person-dash | person-dash-fill |
| person-down | person-exclamation | person-fill | person-fill-add |
| person-fill-check | person-fill-dash | person-fill-down | person-fill-exclamation |
| person-fill-gear | person-fill-lock | person-fill-slash | person-fill-up |
| person-fill-x | person-gear | person-heart | person-hearts |
| person-lines-fill | person-lock | person-plus | person-plus-fill |
| person-raised-hand | person-rolodex | person-slash | person-square |
| person-standing | person-standing-dress | person-up | person-vcard |
| person-vcard-fill | person-video | person-video2 | person-video3 |
| person-walking | person-wheelchair | person-workspace | person-x |
| person-x-fill | phone | phone-fill | phone-flip |
| phone-landscape | phone-landscape-fill | phone-vibrate | phone-vibrate-fill |
| pie-chart | pie-chart-fill | piggy-bank | piggy-bank-fill |
| pin | pin-angle | pin-angle-fill | pin-fill |
| pin-map | pin-map-fill | pip | |
| pip-fill | play | play-btn | play-btn-fill |
| play-circle | play-circle-fill | play-fill | playstation |
| plug | plug-fill | plugin | plus |
| plus-circle | plus-circle-dotted | plus-circle-fill | plus-lg |
| plus-slash-minus | plus-square | plus-square-dotted | plus-square-fill |
| postage | postage-fill | postage-heart | postage-heart-fill |
| postcard | postcard-fill | postcard-heart | postcard-heart-fill |
| power | prescription | prescription2 | printer |
| printer-fill | projector | projector-fill | puzzle |
| puzzle-fill | qr-code | qr-code-scan | question |
| question-circle | question-circle-fill | question-diamond | question-diamond-fill |
| question-lg | question-octagon | question-octagon-fill | question-square |
| question-square-fill | quora | quote | r-circle |
| r-circle-fill | r-square | r-square-fill | radar |
| radioactive | rainbow | receipt | receipt-cutoff |
| reception-0 | reception-1 | reception-2 | reception-3 |
| reception-4 | record | record-btn | record-btn-fill |
| record-circle | record-circle-fill | record-fill | record2 |
| record2-fill | recycle | regex | |
| repeat | repeat-1 | reply | reply-all |
| reply-all-fill | reply-fill | rewind | rewind-btn |
| rewind-btn-fill | rewind-circle | rewind-circle-fill | rewind-fill |
| robot | rocket | rocket-fill | rocket-takeoff |
| rocket-takeoff-fill | router | router-fill | rss |
| rss-fill | rulers | safe | safe-fill |
| safe2 | safe2-fill | save | save-fill |
| save2 | save2-fill | scissors | scooter |
| screwdriver | sd-card | sd-card-fill | search |
| search-heart | search-heart-fill | segmented-nav | send |
| send-arrow-down | send-arrow-down-fill | send-arrow-up | send-arrow-up-fill |
| send-check | send-check-fill | send-dash | send-dash-fill |
| send-exclamation | send-exclamation-fill | send-fill | send-plus |
| send-plus-fill | send-slash | send-slash-fill | send-x |
| send-x-fill | server | shadows | share |
| share-fill | shield | shield-check | shield-exclamation |
| shield-fill | shield-fill-check | shield-fill-exclamation | shield-fill-minus |
| shield-fill-plus | shield-fill-x | shield-lock | shield-lock-fill |
| shield-minus | shield-plus | shield-shaded | shield-slash |
| shield-slash-fill | shield-x | shift | shift-fill |
| shop | shop-window | shuffle | sign-dead-end |
| sign-dead-end-fill | sign-do-not-enter | sign-do-not-enter-fill | sign-intersection |
| sign-intersection-fill | sign-intersection-side | sign-intersection-side-fill | sign-intersection-t |
| sign-intersection-t-fill | sign-intersection-y | sign-intersection-y-fill | sign-merge-left |
| sign-merge-left-fill | sign-merge-right | sign-merge-right-fill | sign-no-left-turn |
| sign-no-left-turn-fill | sign-no-parking | sign-no-parking-fill | sign-no-right-turn |
| sign-no-right-turn-fill | sign-railroad | sign-railroad-fill | sign-stop |
| sign-stop-fill | sign-stop-lights | sign-stop-lights-fill | sign-turn-left |
| sign-turn-left-fill | sign-turn-right | sign-turn-right-fill | sign-turn-slight-left |
| sign-turn-slight-left-fill | sign-turn-slight-right | sign-turn-slight-right-fill | sign-yield |
| sign-yield-fill | signal | signpost | signpost-2 |
| signpost-2-fill | signpost-fill | signpost-split | signpost-split-fill |
| sim | sim-fill | sim-slash | sim-slash-fill |
| sina-weibo | skip-backward | skip-backward-btn | skip-backward-btn-fill |
| skip-backward-circle | skip-backward-circle-fill | skip-backward-fill | skip-end |
| skip-end-btn | skip-end-btn-fill | skip-end-circle | skip-end-circle-fill |
| skip-end-fill | skip-forward | skip-forward-btn | skip-forward-btn-fill |
| skip-forward-circle | skip-forward-circle-fill | skip-forward-fill | skip-start |
| skip-start-btn | skip-start-btn-fill | skip-start-circle | skip-start-circle-fill |
| skip-start-fill | skype | slack | slash |
| slash-circle | slash-circle-fill | slash-lg | slash-square |
| slash-square-fill | sliders | sliders2 | sliders2-vertical |
| smartwatch | snapchat | snow | snow2 |
| snow3 | sort-alpha-down | sort-alpha-down-alt | sort-alpha-up |
| sort-alpha-up-alt | sort-down | sort-down-alt | sort-numeric-down |
| sort-numeric-down-alt | sort-numeric-up | sort-numeric-up-alt | sort-up |
| sort-up-alt | soundwave | sourceforge | speaker |
| speaker-fill | speedometer | speedometer2 | spellcheck |
| spotify | square | square-fill | square-half |
| stack | stack-overflow | star | star-fill |
| star-half | stars | steam | stickies |
| stickies-fill | sticky | sticky-fill | stop |
| stop-btn | stop-btn-fill | stop-circle | stop-circle-fill |
| stop-fill | stoplights | stoplights-fill | stopwatch |
| stopwatch-fill | strava | stripe | subscript |
| substack | subtract | suit-club | suit-club-fill |
| suit-diamond | suit-diamond-fill | suit-heart | suit-heart-fill |
| suit-spade | suit-spade-fill | suitcase | suitcase-fill |
| suitcase-lg | suitcase-lg-fill | suitcase2 | suitcase2-fill |
| sun | sun-fill | sunglasses | sunrise |
| sunrise-fill | sunset | sunset-fill | superscript |
| symmetry-horizontal | symmetry-vertical | table | tablet |
| tablet-fill | tablet-landscape | tablet-landscape-fill | tag |
| tag-fill | tags | tags-fill | taxi-front |
| taxi-front-fill | telegram | telephone | telephone-fill |
| telephone-forward | telephone-forward-fill | telephone-inbound | telephone-inbound-fill |
| telephone-minus | telephone-minus-fill | telephone-outbound | telephone-outbound-fill |
| telephone-plus | telephone-plus-fill | telephone-x | telephone-x-fill |
| tencent-qq | terminal | terminal-dash | terminal-fill |
| terminal-plus | terminal-split | terminal-x | text-center |
| text-indent-left | text-indent-right | text-left | text-paragraph |
| text-right | text-wrap | textarea | textarea-resize |
| textarea-t | thermometer | thermometer-half | thermometer-high |
| thermometer-low | thermometer-snow | thermometer-sun | threads |
| threads-fill | three-dots | three-dots-vertical | thunderbolt |
| thunderbolt-fill | ticket | ticket-detailed | ticket-detailed-fill |
| ticket-fill | ticket-perforated | ticket-perforated-fill | tiktok |
| toggle-off | toggle-on | toggle2-off | toggle2-on |
| toggles | toggles2 | tools | tornado |
| train-freight-front | train-freight-front-fill | train-front | train-front-fill |
| train-lightrail-front | train-lightrail-front-fill | translate | transparency |
| trash | trash-fill | trash2 | trash2-fill |
| trash3 | trash3-fill | tree | tree-fill |
| trello | triangle | triangle-fill | triangle-half |
| trophy | trophy-fill | tropical-storm | truck |
| truck-flatbed | truck-front | truck-front-fill | tsunami |
| tux | tv | tv-fill | twitch |
| twitter-x | type | type-bold | |
| type-h1 | type-h2 | type-h3 | type-h4 |
| type-h5 | type-h6 | type-italic | type-strikethrough |
| type-underline | typescript | ubuntu | ui-checks |
| ui-checks-grid | ui-radios | ui-radios-grid | umbrella |
| umbrella-fill | unindent | union | unity |
| universal-access | universal-access-circle | unlock | unlock-fill |
| unlock2 | unlock2-fill | upc | upc-scan |
| upload | usb | usb-c | usb-c-fill |
| usb-drive | usb-drive-fill | usb-fill | usb-micro |
| usb-micro-fill | usb-mini | usb-mini-fill | usb-plug |
| usb-plug-fill | usb-symbol | valentine | valentine2 |
| vector-pen | view-list | view-stacked | vignette |
| vimeo | vinyl | vinyl-fill | virus |
| virus2 | voicemail | volume-down | volume-down-fill |
| volume-mute | volume-mute-fill | volume-off | volume-off-fill |
| volume-up | volume-up-fill | vr | wallet |
| wallet-fill | wallet2 | watch | water |
| webcam | webcam-fill | ||
| wifi | wifi-1 | wifi-2 | wifi-off |
| wikipedia | wind | window | window-dash |
| window-desktop | window-dock | window-fullscreen | window-plus |
| window-sidebar | window-split | window-stack | window-x |
| windows | wordpress | wrench | wrench-adjustable |
| wrench-adjustable-circle | wrench-adjustable-circle-fill | x | x-circle |
| x-circle-fill | x-diamond | x-diamond-fill | x-lg |
| x-octagon | x-octagon-fill | x-square | x-square-fill |
| xbox | yelp | yin-yang | youtube |
| zoom-in | zoom-out |
§ 13Where to go next
- Text and formatting — the inline pattern engine :name: belongs to, and the rest of what a prose string may carry.
- Themes and styling — the class system an iconset's class and color hang off, and how currentColor reaches an icon.
- Callouts, footnotes and chapter headers — the block whose default glyphs a renamed lucide set moves.
- The diagram canvas — placement, anchors and layout for the icon block and every shape that wears a badge.
- Output targets — HTML, PDF and Markdown, and what else differs between them.
- Writing your own blocks — lowering to Html, where the icon(name, class) constructor lives.