figma guide

Designing breadcrumbs in Figma: hierarchy, truncation, and handoff

Design breadcrumb navigation in Figma with separators, truncation, mobile collapse, current-page treatment, and Dev Mode specs engineers can implement without guessing.

Published
Updated
Jun 16, 2026
Read time
6 min
Level
Beginner

Quick answer

Breadcrumbs show where the user is in a hierarchy and let them jump to parent levels—design them as a single component set with Item children (link vs current), a configurable Separator, and responsive variants for truncation and mobile collapse. Build BreadcrumbItem with variants type=link | current, state=default | hover | focus | disabled, and optional truncated=true. Use chevron or slash separators consistently, never color alone for the current page, and document max visible items before an ellipsis menu. Pair with navigation and tabs, sidebars, and responsive frames. Start from the Figma guides hub.


Who this is for

  • Product designers shipping admin panels, file browsers, ecommerce categories, and settings hierarchies.
  • Design system teams standardizing wayfinding across web apps that are too deep for tabs alone.
  • Engineers implementing nav landmarks, aria-current="page", and responsive collapse without re-guessing truncation rules.

When to use breadcrumbs (and when not to)

ScenarioBreadcrumbs?Better alternative
3+ level hierarchy (Home → Category → Product)Yes
Flat app with 1–2 levelsNoTop nav
Wizard / checkout stepsNoStepper
Mobile-first shallow IARarelyBack button + page title
File path (folders)YesMatch OS conventions
Modal sub-flowNoModal header with back

Verdict: breadcrumbs help when users land deep from search or email and need to climb up without using the browser back button. Skip them when the hierarchy is flat or a stepper already communicates position.


Component anatomy

PartPurposeSpec tip
ContainerHorizontal trailnav with aria-label="Breadcrumb"
Item (link)Clickable ancestorUnderline on hover optional
Item (current)Active pageNot a link; aria-current="page"
SeparatorVisual dividerChevron > or /; not interactive
Ellipsis menuHidden middle levelsOpens list of collapsed items
Home iconRoot shortcutOptional first item
Breadcrumb
├── Variant: density=compact | comfortable
├── Variant: collapsed=off | on (mobile)
├── Layer: Row (auto layout horizontal, wrap off)
│   ├── Item (link) × N
│   ├── Separator × N-1
│   ├── Ellipsis (optional)
│   └── Item (current)
└── Property: maxItems (number, document in description)

Use auto layout with 4–8px gap between items and 8px around separators. Publish from your team library.


Item states

StateLink itemCurrent itemSeparator
Defaulttext/link colortext/primary semibold or regulartext/tertiary
HoverUnderline or color shiftN/A (not interactive)Unchanged
FocusVisible focus ringN/AN/A
DisabledMuted, no pointerN/AUnchanged
Truncated with max-widthSame ruleUnchanged

Current page should be visually distinct but still readable—bold weight or primary text color works; do not rely on color alone. Run accessibility contrast checks on link vs background.


Separator styles

StyleFeelBest for
Chevron >Modern SaaS defaultWeb apps, dashboards
Slash /Editorial, filesystemDocs, CMS, file paths
Dot ·Light, minimalMarketing subsites
Icon (home)Root onlyReplace “Home” text on mobile

Pick one separator per product surface. Mixing chevrons and slashes in the same app reads as unfinished.


Truncation and collapse patterns

Long paths break layouts. Document these behaviors in component descriptions:

PatternBehaviorWhen to use
Tail truncateShow first + ellipsis + last 2Wide tables, file paths
Middle collapseHome > … > Settings > Profile5+ levels
Scroll horizontalRow scrolls on narrow screensRare; easy to miss
Mobile backHide trail; show ← Parent only<480px native-feel apps

Recommended default: show first item + ellipsis + last two items when items > 4. Prototype the ellipsis as a dropdown listing hidden levels.

Bind max item width with min width 0 on text layers inside auto layout so truncation ellipsis works—see responsive constraints.


Responsive variants

BreakpointLayoutNotes
DesktopFull trailcomfortable density
TabletMiddle collapse at 5+Same component, boolean collapsed
Mobile← Section or 2-item trailcollapsed=on variant

Create a frame preset for common content widths (1280, 768, 375) and drop breadcrumb instances on each—do not assume desktop-only specs.


Prototyping breadcrumbs

  1. Static frames per page depth for marketing handoff screenshots.
  2. Component variants swapping current item per screen—fast for design reviews.
  3. Interactive links on ancestor items only; wire to parent frames in prototype flows.

Current item should not have a prototype link. Separators are never clickable.


Handoff to engineering

DeliverableDetail
items[]{ label, href } ordered root → leaf
currentLast item; no href
separatorchevron | slash | dot
maxItemsNumber before collapse
collapseModemiddle | start | none
aria-labelDefault "Breadcrumb"
Mobile ruleVariant name or boolean collapsed

Add to your Dev Mode checklist. If breadcrumbs sit above page titles in cards, document vertical spacing (usually 8–12px above H1).


Real-world examples

Ecommerce category path

Home > Electronics > Audio > Headphones > Sony WH-1000XM5 — collapse to Home > … > Headphones > Sony WH-1000XM5 on tablet. Current item is product name; no link.

SaaS settings

Workspace > Billing > Invoices > INV-2041 — slash separators, compact density, no home icon. Invoice ID is current; Billing is link.

File manager

Icon folder + truncated middle segments; double-click behavior is out of scope—note “click navigates, does not expand tree” in spec. Pair with sidebar tree nav if you also show a folder tree.


Common mistakes

MistakeConsequenceFix
Current page is a linkDouble navigation, SEO noisetype=current, no href
Separator is clickableConfusing hit targetsDecorative only
8+ visible segmentsOverflow on laptopMiddle collapse
No mobile ruleBroken headercollapsed variant
Breadcrumbs on every screenVisual clutterUse only on deep routes
Duplicate page titleRedundant H1 + current crumbShorten current label or drop H1 repeat
Color-only current stateFails a11yWeight + color
Wrong order (leaf first)DisorientingRoot → current always

FAQ

Tabs switch sibling sections at the same level. Breadcrumbs show parent hierarchy. Use both when tabs sit inside a deep section (e.g. Settings > Team trail + Profile / Billing tabs).

Usually no—use a back affordance in the modal header. Breadcrumbs belong to page chrome, not overlays.

Include Home on every trail?

Yes for marketing and docs; optional in dense admin UIs where the sidebar already shows root.

How small can touch targets be?

Ancestor links should meet 44px min height on mobile or sit in a toolbar with adequate padding—same guidance as navigation bars.


Bottom line

Breadcrumbs are a hierarchy map, not primary navigation. Build them as a reusable trail with link vs current variants, one separator style, and explicit truncation rules for long paths. Document collapse behavior and mobile alternatives in Dev Mode so engineering does not invent a different pattern per screen. Continue with navigation, sidebars, responsive layout, and the tutorials hub.

Share on X

§ Keep reading

Related guides.