Stop building from scratch
Navbar (18)

Shadcn.io is not affiliated with official shadcn/ui

Icon Navigation Bar

Compact icon-based navigation bar with theme toggle and language selector. Features tooltips for icon navigation, internationalization support, and user profile management for global applications.

Powered by

Loading component...

Installation

Sign in to access installation commands
Sign in

Features

  • Icon-only desktop navigation with tooltip labels for compact, clean design
  • Theme toggle with light/dark mode switching and visual state indicators
  • Language selector with international support and customizable language options
  • Tooltips for accessibility providing context for icon-based navigation elements
  • User profile menu with avatar display and account management options
  • Container-based responsive design with automatic mobile/desktop switching based on actual width
  • TypeScript support with comprehensive interface definitions and callback functions
  • shadcn/ui integration using Tooltip, Select, and DropdownMenu components

Use Cases

This free open source React component works well for:

  • International applications - Multi-language platforms with global user bases
  • Dashboard interfaces - Compact navigation for data-rich applications built with Next.js
  • SaaS platforms - Space-efficient navigation with theme customization using Tailwind CSS
  • Admin panels - Icon-based navigation for professional enterprise applications

API Reference

PropTypeDefaultDescription
logoReact.ReactNode<Logo />Logo component to display in the navbar
logoHrefstring"#"URL for logo click navigation
navigationLinksNavbar06NavItem[]defaultNavigationLinksArray of navigation items with icons and labels
languagesNavbar06Language[]defaultLanguagesArray of available language options
defaultLanguagestring"en"Default selected language code
userNamestring"John Doe"Display name for the user profile
userEmailstring"[email protected]"Email address for the user profile
userAvatarstringundefinedURL for user avatar image
onNavItemClick(href: string) => voidundefinedCallback for navigation item clicks
onLanguageChange(language: string) => voidundefinedCallback for language selection changes
onThemeChange(theme: 'light' | 'dark') => voidundefinedCallback for theme toggle changes
onUserItemClick(item: string) => voidundefinedCallback for user menu item clicks
  • Icon Navigation - Desktop shows only icons with tooltip labels for space efficiency
  • Mobile Expansion - Mobile menu displays both icons and text labels
  • Active States - Visual highlighting for current page with background accent
  • Tooltip Integration - Hover tooltips provide context for icon-only navigation

Internationalization Features

  • Language Selector - Dropdown with globe icon and language abbreviations
  • Customizable Languages - Support for any language codes and display labels
  • Responsive Display - Language labels hidden on small screens, icon-only display
  • Theme Integration - Dark/light mode toggle with sun/moon icons

Implementation Notes

  • Uses ResizeObserver for container-based responsive behavior independent of viewport
  • Supports keyboard navigation and accessibility standards through Radix UI components
  • Mobile menu automatically appears when container width is less than 768px
  • Tooltip provider wraps icon navigation for proper tooltip functionality
  • Theme toggle maintains internal state with callback for external theme management
  • All navigation items are non-functional for demonstration purposes with callback support
  • Compatible with shadcn/ui design system and Tailwind CSS styling framework
  • Language selector supports full internationalization with custom language arrays