Fork me on GitHub


slimMenu is a lightweight jQuery plugin, which is made to create responsive and multi-level navigation menus on the fly.

With slimMenu, you'll no longer struggle with media queries to create responsive menus, or any other heavy plugins to create multi-level nested menus. slimMenu does both job for you and it's only 5KB(2.5KB minified)!

Download .zip Download .tar.gz View on GitHub


  • Multi-level nested menus.
  • 100% mobile responsive menus.
  • Multiple slimMenu navigations on the same page.
  • Tap areas to toggle sub menus easily in touch devices.
  • Hover option and effects for desktop version.
  • Submenu indentation options for responsive version.

Browser Support:

(Tested on following browsers and confirmed that the slimMenu is working.)

  • IE 9+
  • Latest Chrome
  • Latest Firefox
  • Latest Safari
  • Latest Opera
  • Android 2.2+
  • Mobile Safari

Example slimMenu (Try resizing your browser's width below 800px.)


Add dist/css/slimmenu.min.css to the head of your document:

<link rel="stylesheet" href="slimmenu.min.css" type="text/css">

Add dist/js/jquery.slimmenu.min.js after jQuery plugin and before closing body tag.

<script src="jquery.slimmenu.min.js"></script>

Create your navigation menu using an ordered list and add slimmenu class:

<ul id="navigation" class="slimmenu">...</ul>

Initilalize the plugin:

    resizeWidth: '800',
    collapserTitle: 'Main Menu',
    animSpeed: 'medium',
    easingEffect: null,
    indentChildren: false,
    childrenIndenter: '&nbsp;'

Optional Add easing plugin after jQuery plugin and before closing body tag if you want to use easing effects.

<script src="**PATH_TO_PLUGIN**/jquery.easing.min.js"></script>


Option Default Value Description Valid Values
resizeWidth 800 Minimum width to collapse the navigation menu. Navigation menu will be collapsed when document width is below this size or equal to it. number
initiallyVisible false Make main navigation menu initially visible on mobile devices without the need to click on expand/collapse icon. boolean
collapserTitle Main Menu Collapsed menu title. string
animSpeed medium Speed of the submenu expand and collapse animation. slow, medium, fast or miliseconds
easingEffect null Easing effect that will be used when expanding and collapsing menu and submenus. any easing effect.
indentChildren false Indentation option for the responsive collapsed submenus. If set to true, all submenus will be indented with the value of the childrenIndenter option. boolean
childrenIndenter &nbsp; This character will be prepended and responsive submenus will be indented with this character according to their level. string
expandIcon <i>&#9660;<i> An icon to be displayed next to parent menu of collapsed sub menus. string
collapseIcon <i>&#9650;<i> An icon to be displayed next to parent menu of expanded sub menus. string


If you need help using slimMenu, have a suggestion or idea, or have found a bug, please create an issue by going to issues page of github repository.