Sidebar navigation components

FREE

Free and open-source React sidebar navigation components built for modern applications and websites. These sidebar navigations are built using React Aria and styled with Tailwind CSS.

Installation

You can add the sidebar navigation base components to your project using the CLI or manually.

npx untitledui@latest add sidebar-navigation-base

These featured cards are used to display various information in the sidebar navigation. Feel free to just swap the existing cards with any of these cards presented below.

New features available!

Check out the new dashboard view. Pages now load faster.

New features available!
Complete accountStep 3 of 4
  • Complete your profile
  • Verify your phone number
  • Set up 2FA and backups
  • Add payout bank details

Upgrade to PRO20% OFF

Unlock 20+ integrations, 40 GB data, and advanced reporting.

Online

Need help with something?

Our experts are ready to help.

Sienna Hewitt
Ammar Foley
Pippa Wilkinson
Olly Schroeder
+5

Join our workshopLive

Learn how to leverage Claude to supercharge your workflow.

Mathilde Lewis

Mathilde Lewis2 mins ago

I’ve finished adding my notes. Happy for you to review!

Free trial24 days left

Verify this device

Open the app and scan the QR code below to verify this device.

API reference

MobileNavigationHeader

Import MobileNavigationHeader from @/components/application/app-navigation/base-components/mobile-header. Renders React Aria’s DialogTrigger — all of its props are supported.

MobileNavigationHeader props
PropTypeDefaultDescription
childrenReactNode——

FAQs

Please refer to our frequently asked questions page for more.

There are five ready-made layouts, each exported as its own component: SidebarNavigationSimple, SidebarNavigationDualTier, SidebarNavigationSlim, SidebarNavigationSectionDividers, and SidebarNavigationSectionsSubheadings. They all take an items array and an activeUrl, so you can swap one for another without reshaping most of your data.

Every item follows the NavItemType type: label (required), plus optional href, icon (a component, not an element), badge (any React node — a string or number is auto-wrapped in a gray pill badge), items for sub-items, and divider. In SidebarNavigationSlim the icon is required on each item, since the collapsed rail shows icons only.

Pass the current path to the activeUrl prop. The sidebar compares it against each item's href and highlights the match, and the underlying NavItemBase also sets aria-current="page" on the active link so screen readers announce it. With a client-side router, wire activeUrl to your router's current pathname.

Give an item an items array of { label, href, badge? } objects. NavList renders those inside a native <details> element with a chevron trigger, and expands the group automatically when the active item is inside it. No extra state is needed on your side. Sub-items do not render icons — NavList passes only href and badge down to each child, so an icon on a sub-item is ignored.

For a plain rule between groups, use SidebarNavigationSectionDividers and insert { divider: true } entries into items — each one renders an <hr> in the list. For labelled groups, use SidebarNavigationSectionsSubheadings, whose items prop takes a different shape: an array of { label, items } objects, where label becomes the uppercase group heading.

Yes, and it is built in. Each variant wraps its content in MobileNavigationHeader, which renders a compact header with a hamburger button below the lg breakpoint and opens the sidebar inside a dismissable React Aria modal dialog. SidebarNavigationSlim is the exception: on mobile it shows a full list with labels instead of the icon rail. The full sidebar is shown as a fixed column from lg upwards.

SidebarNavigationSimple and SidebarNavigationDualTier accept a featureCard prop that takes any React node — for example one of the featured cards on this page — and renders it above the account card. SidebarNavigationSimple also accepts showAccountCard, which defaults to true — pass showAccountCard={false} to hide the account card. It also takes footerItems for the bottom links, and hideBorder to drop the right-hand border.