Back to compare picker

Navigation drawer vs Side navigation vs Bottom navigation

Use a navigation drawer for a dismissible destination sheet, side navigation for persistent local hierarchy, and bottom navigation for a small mobile set of primary destinations.

Learn the decision

Match the interaction to the person's task

Use a navigation drawer for a dismissible destination sheet, side navigation for persistent local hierarchy, and bottom navigation for a small mobile set of primary destinations.

Navigation drawer

Use it when: A constrained app needs access to more destinations than fit in the visible navigation surface.

Make this state clear: Closed state with a clear opener such as a menu button.

Observe the result: Users open the drawer, select Sent, the drawer closes, and Sent becomes the visible destination while Inbox scroll state is preserved.

Study the full pattern →

Side navigation

Use it when: A product area has several related pages arranged in a visible hierarchy.

Make this state clear: Default state with the local section hierarchy visible beside content.

Observe the result: Users open Billing, switch to Invoices, then return to Security and see the Security group still expanded.

Study the full pattern →

Bottom navigation

Use it when: A compact mobile app has three to five high-frequency top-level destinations.

Make this state clear: Default state with all primary destinations visible.

Observe the result: Switching from Home to Saved and back preserves each section's scroll count and draft state.

Study the full pattern →

Practice the judgment: Imagine this situation: The menu icon opens a drawer on some screens and unrelated actions on others. Write the person's goal, choose one of these patterns, and show the state that helps the person continue. Use the decision rules and source trail below to explain your choice.

Review the underlying principle →

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 After a drawer item is chosen, close the drawer, update the active destination, and return focus or reading position predictably so users see the result of navigation.Help the person reach a clear task outcome.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.Selected state uses shape, weight, and text color instead of relying on color alone.
Bad UI A drawer overlays desktop content even though users need to switch between sibling pages repeatedly.The side navigation highlights Settings while the page heading is Audit log.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 destinations are top-level product areas that belong in global navigation.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
After a drawer item is chosen, close the drawer, update the active destination, and return focus or reading position predictably so users see the result of navigation.
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 drawer overlays desktop content even though users need to switch between sibling pages repeatedly.
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
Help the person reach a clear task outcome.
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
The side navigation highlights Settings while the page heading is Audit log.
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 destinations are top-level product areas that belong in global navigation.
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
Selected state uses shape, weight, and text color instead of relying on color alone.
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.

Saved items