10 Best Mobile-friendly Off-canvas Navigation Systems (2023 Update)

Off-canvas navigation has long been a go-to design pattern for creating navigation interfaces that are both user-friendly and semantically solid. Simply put, off-canvas navigation involves moving the navigation out of view by default and bringing it into view upon interaction. This functionality is easily achieved in modern web browsers using pure CSS (and sometimes HTML5/JavaScript).

The technology is constantly changing, so most of the frameworks have evolved. Many beginners or even experts would easily get lost trying to build one on their own, but here’s a list of resources that should come in handy if you are looking to build one from scratch.

I’ve hand-picked 10 of the best JavaScript and CSS-based mobile app-style off-canvas navigation menus written entirely in Vanilla JavaScript or pure CSS. Enjoy!.

Originally Published Nov 10 2017, updated Feb 05 2023

1. Responsive Multi-level Sidebar Menu With JavaScript/CSS

A responsive sidebar menu with multi-level sub-menus written in plain JavaScript and CSS.

Responsive Multi-level Sidebar Menu With JavaScript/CSS

[Demo] [Download]


2. Responsive Sidebar Navigation with JavaScript and CSS3

A small JavaScript library which helps you create a mobile-friendly, fully responsive and space-saving sidebar navigation for your web projects. On small screens,  it will converts the sidebar navigation into an off-canvas menu with a toggle icon when the viewport’s size reaches the breakpoint specified in the CSS3 media queries (default to 992px).

Responsive Sidebar Navigation with JavaScript and CSS3

[Demo] [Download]


3. Responsive Offcanvas Menu For Bootstrap 5

A responsive off-canvas navigation system that combines with Bootstrap 5 off-canvas and navbar components.

Responsive Offcanvas Menu For Bootstrap 5

[Demo] [Download]


4. HTML And CSS Only Off-canvas Drawer Navigation

Just another responsive off-canvas drawer navigation built on top of CSS, CSS3 and checkbox element.

HTML And CSS Only Off-canvas Drawer Navigation

[Demo] [Download]


5. CSS Only Off-canvas Navigation Using CSS Pseudo-class

A pure CSS, mobile-friendly off-canvas navigation system built using plain HTML/CSS/CSS3 and :focus-within CSS pseudo-class.

CSS Only Off-canvas Navigation Using CSS Pseudo-class

[Demo] [Download]


6. Material Design Inspired Off-canvas Push Nav – Material-Menu

A pure JavaScript navigation library to create an off-canvas push menu inspired by Material Design apps.

Material Design Inspired Off-canvas Push Nav – Material-Menu

[Demo] [Download]


7. Touch side swipe

A Vanilla JavaScript plugin used to create a mobile-friendly off-canvas side menu that supports touch swipe events.

Touch side swipe

Demo Download


8. Animated Sidebar Navigation with JavaScript and CSS

A JavaScript & CSS based sidebar interaction concept for easily creating an off-canvas sidebar navigation that you can hide/show based on user actions.

Animated Sidebar Navigation with JavaScript and CSS

Demo Download


9. Slide Menu

This is the vanilla JavaScript version of the jQuery slide menu plugin that helps web developers implement a smoothly sliding, multi-level, off-canvas navigation in vanilla JavaScript.

Slide Menu

Demo Download


10. CSS Only Responsive Fixed Sidebar Navigation

A CSS only responsive fixed sidebar navigation that collapses into a bottom nav bar on mobile devices.

CSS Only Responsive Fixed Sidebar Navigation

Demo Download


Conclusion:

Off-canvas navigation is gaining further popularity as more people start to realize its value. Apps like Facebook, Twitter, and even Medium have all decided to go with this navigation mode for the mobile version of their websites.

This is maybe the most important reason why we have decided to create our own list of 10 best off-canvas menus: we want you to use them on your website or app too. Naturally, we couldn’t pick all of our favorites, so the ones we chose are all very reliable in terms of both performance and coding quality.

Read More:

You Might Be Interested In: