Back to compare picker

Navigation drawer vs Side navigation vs Bottom navigation

Prefer a navigation drawer when users need occasional access to destinations, account switching, or secondary app sections from a constrained screen.

Decision dimensions

Dimension Navigation drawerSide navigationBottom navigation
UI or UX UI + UX - Dismissible slide-in navigation sheetUI + UX - Persistent local hierarchy at the side of contentUI + UX - Persistent mobile primary navigation
UI guidance Render a navigation sheet that enters from the start edge or bottom, is opened by an explicit control, and presents grouped destination items with selected state.Render a vertical navigation region beside the main content that exposes the current area's parent, child, and optional grandchild pages with a clear active indicator.Render three to five bottom destinations with stable touch targets, labels or accessible names, reinforcing icons, selected state, optional badges, and safe-area spacing.
UX guidance Use a navigation drawer for destinations that need to be available but not constantly visible, especially on constrained screens or complex apps with secondary sections.Use side navigation to help users move within a complex section without losing the current page's position in that section.Support rapid switching between top-level mobile sections while preserving each section's local navigation, scroll, filters, and drafts.
Good UI A mobile app bar menu button opens a left modal drawer with Inbox selected, grouped labels, account switcher, and a visible scrim behind it.A settings page shows Account, Billing, Team, and Security in a left rail with Security expanded and Audit log marked as current.Five labeled destinations stay fixed at the bottom with Home selected, Alerts showing a small badge, and no action button mixed into the bar.
Bad UI A hamburger opens a full-height list with no scrim, no close control, and no visible selected destination.A sidebar mixes Dashboard, Reports, Sign out, Help, Team, API, Billing, and Marketing with no section grouping.Six tiny icon-only items and a center plus button compete for space.
Good UX Users open the drawer, select Sent, the drawer closes, and Sent becomes the visible destination while Inbox scroll state is preserved.Users open Billing, switch to Invoices, then return to Security and see the Security group still expanded.Switching from Home to Saved and back preserves each section's scroll count and draft state.
Bad UX Selecting a drawer item changes the destination behind the sheet but leaves the drawer covering the new page.Users must reopen a drawer every time they move between sibling pages in the same desktop section.Tapping Search clears the Home feed position and opens a one-off command instead of a destination.
Best fit A constrained app needs access to more destinations than fit in the visible navigation surface.A product area has several related pages arranged in a visible hierarchy.A compact mobile app has three to five high-frequency top-level destinations.
Avoid when Users need constant visibility of the local hierarchy while working in a section.The product only has a few pages and does not need a hierarchy.There are fewer than three or more than five primary destinations.
Required state Closed state with a clear opener such as a menu button.Default state with the local section hierarchy visible beside content.Default state with all primary destinations visible.
Accessibility burden Give the opener an accessible name such as Open navigation menu.Use a labeled navigation landmark that distinguishes local side navigation from primary navigation.Every icon must have a visible label or accessible name.
Common misuse Hiding the app's most important destinations in a drawer on mobile.Duplicating global navigation links in the side navigation.Putting too many destinations into the bar.

Navigation drawer

UI or UX
UI + UX - Dismissible slide-in navigation sheet
UI guidance
Render a navigation sheet that enters from the start edge or bottom, is opened by an explicit control, and presents grouped destination items with selected state.
UX guidance
Use a navigation drawer for destinations that need to be available but not constantly visible, especially on constrained screens or complex apps with secondary sections.
Good UI
A mobile app bar menu button opens a left modal drawer with Inbox selected, grouped labels, account switcher, and a visible scrim behind it.
Bad UI
A hamburger opens a full-height list with no scrim, no close control, and no visible selected destination.
Good UX
Users open the drawer, select Sent, the drawer closes, and Sent becomes the visible destination while Inbox scroll state is preserved.
Bad UX
Selecting a drawer item changes the destination behind the sheet but leaves the drawer covering the new page.
Best fit
A constrained app needs access to more destinations than fit in the visible navigation surface.
Avoid when
Users need constant visibility of the local hierarchy while working in a section.
Required state
Closed state with a clear opener such as a menu button.
Accessibility burden
Give the opener an accessible name such as Open navigation menu.
Common misuse
Hiding the app's most important destinations in a drawer on mobile.

Side navigation

UI or UX
UI + UX - Persistent local hierarchy at the side of content
UI guidance
Render a vertical navigation region beside the main content that exposes the current area's parent, child, and optional grandchild pages with a clear active indicator.
UX guidance
Use side navigation to help users move within a complex section without losing the current page's position in that section.
Good UI
A settings page shows Account, Billing, Team, and Security in a left rail with Security expanded and Audit log marked as current.
Bad UI
A sidebar mixes Dashboard, Reports, Sign out, Help, Team, API, Billing, and Marketing with no section grouping.
Good UX
Users open Billing, switch to Invoices, then return to Security and see the Security group still expanded.
Bad UX
Users must reopen a drawer every time they move between sibling pages in the same desktop section.
Best fit
A product area has several related pages arranged in a visible hierarchy.
Avoid when
The product only has a few pages and does not need a hierarchy.
Required state
Default state with the local section hierarchy visible beside content.
Accessibility burden
Use a labeled navigation landmark that distinguishes local side navigation from primary navigation.
Common misuse
Duplicating global navigation links in the side navigation.

Bottom navigation

UI or UX
UI + UX - Persistent mobile primary navigation
UI guidance
Render three to five bottom destinations with stable touch targets, labels or accessible names, reinforcing icons, selected state, optional badges, and safe-area spacing.
UX guidance
Support rapid switching between top-level mobile sections while preserving each section's local navigation, scroll, filters, and drafts.
Good UI
Five labeled destinations stay fixed at the bottom with Home selected, Alerts showing a small badge, and no action button mixed into the bar.
Bad UI
Six tiny icon-only items and a center plus button compete for space.
Good UX
Switching from Home to Saved and back preserves each section's scroll count and draft state.
Bad UX
Tapping Search clears the Home feed position and opens a one-off command instead of a destination.
Best fit
A compact mobile app has three to five high-frequency top-level destinations.
Avoid when
There are fewer than three or more than five primary destinations.
Required state
Default state with all primary destinations visible.
Accessibility burden
Every icon must have a visible label or accessible name.
Common misuse
Putting too many destinations into the bar.
Decision rules
  • Prefer a navigation drawer when users need occasional access to destinations, account switching, or secondary app sections from a constrained screen.
  • Prefer side navigation when the same related section links should remain visible beside desktop or tablet content as local hierarchy.
  • Prefer bottom navigation when three to five high-frequency mobile destinations need persistent thumb-reachable switching.
  • Use a modal drawer when opening navigation should temporarily block the content behind it with a scrim until the user selects an item or dismisses the drawer.
  • Do not use a navigation drawer to hide the only path between frequently used primary mobile destinations; use bottom navigation when those destinations are central to every session.
  • Do not replace persistent desktop side navigation with a drawer if users repeatedly move among sibling pages in one section.
  • Keep drawer items grouped and labeled; do not mix destructive commands, sign out, settings, and unrelated destinations without clear sectioning.
  • When the drawer closes after selection, update the active destination, move focus predictably, and preserve the content state the user returns to.
Inspect live examples
Failure modes
  • The drawer opens without a visible scrim or close path, leaving users unsure whether content behind it is available.
  • The menu icon opens a drawer on some screens and unrelated actions on others.
  • Selecting a drawer item changes content but leaves the drawer covering the result.
  • The drawer contains every page, utility, and destructive action as an ungrouped list.
  • A drawer hides destinations that users need many times per session on mobile.
  • A persistent side navigation is collapsed into a drawer on desktop and creates repeated open-close work.
  • Focus stays behind the modal drawer or fails to return to the opener after dismissal.