665 Modules match your search

Extend and customize Drupal functionality with contributed modules. If a module doesn't quite do what you want it to do, if you find a bug or have a suggestion, then join forces and help the module maintainer. Or, share your own by starting a new module.

Administration menu

Administration menu (back-end) for Drupal

Provides a theme-independent administration interface (aka. navigation, back-end). It's a helper for novice users coming from other CMS, a time-saver for site administrators, and useful for developers and site builders.

Administrative links are displayed in a CSS/JS-based menu at the top on all pages of your site. It not only contains regular menu items — tasks and actions are also included, enabling fast access to any administrative resource your Drupal site provides.



Module description

The link module provides a standard custom content field for links. With this module, links can be easily added to any content types and profiles and include advanced validating and different ways of storing internal or external links and URLs. It also supports additional link text title, site wide tokens for titles and title attributes, target attributes, css class attribution, static repeating values, input conversion, and many more.

Requirements / Dependencies

  1. Drupal 6: Custom content module (CCK)
  2. Drupal 7: Fields API is provided already by core [no dependencies].
  3. Drupal 8: Link module is in core now. No module installation needed. Yay! Don't forget to activate it. It's deactivated by default.

INFO Since some misleading user reports we need to clarify here - Link module is NOT about to add links to any menus or the navigation nor primary/secondary menu. This can be done with default menu module (part of Drupal core). The Link module provides an additional custom field for storing and validating links to be added with any content type, which means another input block additional to your text-body, title, image and any other input you can make on new content creation.


Menu block

The "Add menu block" link and 3 example menu blocks

So… have you ever used the Main and Secondary menu links feature on your theme and wondered “how the hell do I display any menu items deeper than that?”

Well, that’s what this module does. It provides configurable blocks of menu trees starting with any level of any menu. And more!


Global Redirect

Global Redirect


GlobalRedirect is a simple module which…

  1. Checks the current URL for an alias and does a 301 redirect to it if it is not being used.
  2. Checks the current URL for a trailing slash, removes it if present and repeats check 1 with the new request.
  3. Checks if the current URL is the same as the site_frontpage and redirects to the frontpage if there is a match.
  4. Checks if the Clean URLs feature is enabled and then checks the current URL is being accessed using the clean method rather than the 'unclean' method.
  5. Checks access to the URL. If the user does not have access to the path, then no redirects are done. This helps avoid exposing private aliased node's.
  6. Make sure the case of the URL being accessed is the same as the one set by the author/administrator. For example, if you set the alias "articles/cake-making" to node/123, then the user can access the alias with any combination of case.
  7. Most of the above options are configurable in the settings page. In Drupal 5 you can access this after enabling the globalredirect_admin module. In Drupal 6, the settings page is bundled into the module.



Superfish integrates jQuery Superfish plugin with your Drupal menus.


  • Unobtrusive JavaScript.
  • Keyboard-accessible, screen reader friendly.
  • Multi-column sub-menus. (Megamenus)
  • Easing effects with the jQuery Easing plug-in.
  • Automatic sub-menu width calculation (Supersubs plugin), automatic sub-menu placement (Supposition plugin; prevents sub-menus from appearing off-screen.)
  • Touch-screen compatible. (almost)
  • Small-screen compatible. (<select> and vertical accordions)
  • Window width (client-side) and UA string (client-side and server-side) detection for touch and small screen plugins, plus Modernizr support, but no CSS media-queries.
  • RTL (Right-to-left) support.
  • And a whole lot more...


Recommended additions:


Menu attributes

This simple module allows you to specify some additional attributes for menu items such as id, name, class, style, and rel.

You should use this module when

  • You want to "nofollow" certain menu items to sculpt the flow of PageRank through your site
  • You want to give a menu item an ID so you can easily select it using jQuery
  • You want to add additional classes or styles to a menu item

The module currently allows you to set the following attributes for each menu item:


Page Title

Page Title

The word "title" is a bit overloaded. Every piece of content in Drupal has a title, and so does every page. The page title is the one found in the HTML head inside the <title> tag. It is also used on SERPs (Search Engine Result Pages) and can greatly enhance your websites SEO (Search Engine Optimization).

This module gives you granular control over the page title. You can specify patterns for how the title should be structured and, on content creation pages, specify the page title separately to the content's title.


Nice Menus


Nice Menus enables drop-down/right/left expandable menus. It uses only CSS for most browsers, with minimal Javascript for IE6. (Version 2 uses the Superfish jQuery plugin for all browsers, with an option to disable JS, and falls back to CSS-only for browsers that can handle it.)

Three styles/types of menus are currently possible: horizontal, menus drop down; vertical, menus fly to the left; vertical, menus fly to the right. There is a handbook page that provides a list of sites that use Nice menus.

Nice Menus creates blocks that may be associated with any existing site menu which can be placed wherever normal blocks can be placed in a theme. For themers, it is also possible to theme a menu as a Nice Menu directly by using the provided theme functions so a block is not necessary. A specific theme function for the Primary Links menu is available. The theme functions also allow a developer to pass in a custom menu tree of their making (i.e. not using a Drupal menu.) There is more information on how to use theme functions in the documentation.


Custom Breadcrumbs

Custom Breadcrumbs 2 (6.x-2.x and 7.x-2.x)

Many new features have been added including support for Views, Panels, Taxonomy vocabularies and terms, paths, and a simple API that allows contributed modules to enable custom breadcrumbs for module pages and theme templates. These are implemented using optional, independent submodules that depend on the main Custom Breadcrumbs module.

In addition to breadcrumb visibility, this version provides an option permitting PHP code snippets to be used in forming the breadcrumb titles and paths. Multiple languages are also supported.

Any changes must go in the 7.x version first.

Custom Breadcrumbs 1 (6.x-1.x and 7.x-1.x)

Allows administrators to set up parametrized breadcrumb trails for any node type. This allows CCK-style node types to have "Home > User Blog > 2005 > January" style breadcrumbs on the node view page itself, synchronizing cleanly with custom views or pathauto aliases. Breadcrumb visibility can be customized via a php snippet.

There are no maintainers doing any work on these branches, so please switch to version 2! :) If, for some reason, you'd like these branches maintained, please offer to become a co-maintainer to work on them.

Similar Modules


Adminimal Administration Menu

Adminimal Menu - Drupal Minimalist menu

Quick Overview:

Adminimal Administration Menu changes the style of the Administration menu module. It adds a nice and simple minimalist look and provides some tweaks to improve your Drupal administration experience. The menu hierarchy is now simpler and easier to understand (removing the unnecessary transparency and only highlighting the correct menus). It also adds quick shortcut links that can be edited from the core shortcut module. The shortcuts fit nicely and have a small icon that separates them from the normal admin menu links.


Responsive Menus

Example menu using simple style


Responsify your menus! Just give me a CSS selector of your menu and I will make it mobile friendly (when the time is right).

Technically you could set this to affect any element on the page... e.g. collapse a sidebar or content area at a certain screen width.
(Using 'simple' style).


  • Choose from different responsive menu styles.
  • Configure any amount of menus to be responsified (simple or codrops' multi style).
  • Configure at which screen width they should be handled.
  • Include / exclude admin pages. (more options with Context)
  • Disable other mouse events.
  • Remove other classes/IDs.
  • Context module integration.
  • Easily theme-able.

Included Responsive Menu styles:

  1. (1st screenshot) 'Simple', a lightweight style.
  2. (2nd screenshot) codrops' Responsive Multi-Level Menu*
  3. (3rd screenshot) MeanMenu*
  4. (4th screenshot) Sidr*


Menu position

Screenshot of content placed with Menu position module

Often times site builders want certain types of content to appear in a specific position in the navigational menu. The simplest solution, adding all of that content individually to the menu system, has performance and usability issues. (Imagine hundreds of menu items added to one spot in the menu.)

This module allows for the creation of rules that will dynamically add the current page into the menu system at the requested spots.

This includes affecting:

  • The main links of the theme
  • The secondary links of the theme
  • The breadcrumb trail
  • Menu blocks provided by core's Menu module
  • Menu blocks provided by the Menu Block module


TB Mega Menu

TB Mega Menu on free responsive theme TB Sirate

TB Mega Menu allows you to create a mega menu with an innovative back-end user interface and synchronized with Drupal core menu.

We strive for more improvement each release, and your feedback on this module is extremely important to us.



DHTML Menu uses Javascript to reduce the number of page loads when using nested menus; this is particularly useful with Drupal's administration system.



Note: Previously named "Mobile Friendly Navigation Toolbar"
A very simple mobile friendly navigation toolbar introduced as part of the Spark project to solve mobile editing problems with the Drupal 7 shipped toolbar, that is not very friendly to small screen sizes.


Crumbs, the Breadcrumbs suite

Crumbs calculates breadcrumbs for your site.
It does so by finding the parent of the current page, then the parent of the parent, etc, until it arrives at the home page.

Crumbs comes with a bunch of built-in plugins, that can be individually enabled, disabled and prioritized, and some of which provide further configuration options.

Built-in plugins

Crumbs plugins have two responsibilities: (1) to determine the parent path for a given path, and (2) to determine the title for a specific breadcrumb link.

Built-in plugins exist for: Menu, Taxonomy, Entity reference, Organic groups, Path aliases, Entityreference prepopulate, Text fields, Forum, Commerce checkout, etc.

Besides, there are configurable token-based patterns to find the parent for entity pages per bundle.

As a fallback behavior, it will always try to find a parent by chopping off the last part of the path. And for the link title, the fallback is whatever was specified with hook_menu().

Fine-grained priority control

Most plugin priorities are further subdivided, to allow even more fine-grained control: By menu name (menu), vocabulary name (taxonomy), field name and entity bundle (entity reference), group content type (organic groups), etc.


Menu Trail By Path

Menu Trail By Path sets the active-trail on menu items according to the current url.

For example if you are at yoursite.com/blog/category1/article1
Menu Items with these paths will get the active-trail class on them and expand accordingly.


This is particularly useful if you want a lot of nodes to appear as children of certain nodes / taxonomy term / views / referenced nodes / etc, but do not want to add them all to the menu. eg. hundreds of blog articles.

Menu Trail By Path is best used in conjunction with Pathauto.

This module is similar to Menutrails (D6) and Menu Position (D7), except no configuration is needed. It uses the path URL to determine the active-trail instead of setting rules for each node type. Theoretically, it also works for non-node pages such as taxonomy term and views. Just enable the module to see the results.

7.x-2.x branch

7.x-2.x branch is completely rewritten. It should be compatible with any menu, including menu_blocks.

Can also handles breadcrumb by path.

6.x-1.x branch

NOTE: The 6.x-1.x branch is no longer supported and will not receive further development.


404 Navigation

On 404 Not Found error pages, Drupal will skip rendering of all the navigation links of your website for performance reasons*. Some of these include:

  1. The "Primary links" block and any other menu links block.
  2. The Primary links and Secondary links of your theme.

* Unless you have configured a "Default 404 (not found) page" on admin/config/system/site-information.

But many websites find navigation invaluable. Especially on 404 pages, when they want to show lost users how to get to real pages.

So this module simply revives those features on 404 pages. Simply install and enable the module. No configuration needed.


Menu Firstchild

By default, Drupal requires that you enter a path for each menu link you add/edit from the Menu administration page.
There are cases you may want to create a parent item, without any path, that simply links to its first viewable child item.
Menu Firstchild provides this functionality.


Tab Tamer


Tab Tamer is an administration utility that provides easy re-ordering, hiding, and deactivation of tabs and subtabs. You can also rename tab labels.

Tab Tamer makes use of Drupal's drag ordering, but degrades gracefully when javascript is disabled.

Tab Tamer utilizes Drupal's cache system to help conserve server resources.

Comments and suggestions are welcome.


Menu Icons

This module allows you to upload an image in the menu-item's configuration form.

After uploading the image, the icon data will be added to the menu link's
options array.

When a menu link is goes through the theme layer, it will receive an extra
class which by default is used to attach the images as a background image to the
corresponding menu item. These class names are also compatible with Nice Menu's.


Easy Breadcrumb

Easy Breadcrumb Screenshot

The Easy Breadcrumb module provides a plug-and-play block to be embedded in your pages, typically at some place near the page's header. Easy Breadcrumb takes advantage of the work you've already done for generating your paths' alias, while it naturally encourages the creation of semantic and consistent paths. This modules is currently available for Drupal 6.x and 7.x.

Easy Breadcrumb uses the current URL (path alias) and the current page's title to automatically extract the breadcrumb's segments and its respective links. Easy Breadcrumb is really a plug and play module, it auto-generates the breadcrumb by using the current URL, the user needs to do anything to get it working.

For example, having an URL like gallery/videos/once-a-time-in-cartagena, Easy Breadcrumb will automatically produces the breadcrumb Home >> Gallery >> Videos >> Once a time in Cartagena or Home >> Videos >> Once a Time in Cartagena. Again, the breadcrumb presentation will vary depending on your module's settings.


Recommended modules



    Popup login form

    The popup suite allows builders to popup tooltip-like text, nodes, blocks, menus, forms, views and php-generated content.

    It includes the following modules:


    Taxonomy Menu Trails

    You need this module if you have a node with taxonomy term reference and a nested menu tree with taxonomy terms. And you want to keep menu expanded up to the term referred by current node.

    Module provides integration with Taxonomy Menu.


    Menu Editor


    Drupal 7: A Drupal 7 version is out, thanks to the new addition to the maintainer crew. Please help testing, and report any problems.

    Menu Editor enhances the menu editing form with inline text fields for title, path and description, and provides placeholders for new items.

    This way, it reduces the number of page visits needed to create a site's menu structure, and eliminates the need for dummy nodes.

    Menu editor attempts to unify content creation and menu editing, solving the same problem as


    Inline text fields for title, path and description: In each row you get inline text fields for title and link path. This means, you don't need to go to a new page any more to edit the title or destination of a menu item!

    Tabindex: The tab index is modified to skip the annoying checkbox fields ("Enabled", "Expanded", "Delete").