343 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.


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:


Flex Slider

Issue with Fields and alpha 2

Please upgrade to FlexSlider alpha 3 to fix FlexSlider Fields issues.
#2069435: FlexSlider alpha2 breaks FlexSlider Fields integration


Flex Slider module integrates the Flex Slider library with Drupal and several contributed modules which allows you to build responsive, resizable slideshows. Meaning the slideshows automatically adapt to the size of the browser window or device.

Some features of FlexSlider slideshows include:

  • Touch enabled nagivation
  • Keyboard navigation
  • Configurable slide animations
  • Multiple sliders per page
  • Lots more...

Current Options

Allows you to use Flex Slider in a few different ways

  • As a library to be used with any other theme or module by calling drupal_add_library('flexslider', 'flexslider') or preferably with libraries_load('flexslider') or with flexslider_add()
  • Integrates with Fields (flexslider_fields)
  • Integrates with Views using a style plugin (flexslider_views)

FlexSlider v2

FlexSlider Video Tutorials

We'll be posting a series of videos on using FlexSlider to our YouTube playlist. If you have a suggestion for a video, post it to the #2068973: Video Tutorial Series Suggestions comment thread.



A standardized solution for building API's so that external clients can communicate with Drupal. Out of the box it aims to support anything Drupal Core supports and provides a code level API for other modules to expose their features and functionality. It provide Drupal plugins that allow others to create their own authentication mechanisms, request formats, and response formats.

Currently all development is happening on github for the useful help of PR's. https://github.com/kylebrowning/services


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*



ThemeKey allows you to define simple or sophisticated theme-switching rules which allow automatic selection of a theme depending on current path, taxonomy terms, language, node-type, and many, many other properties. It can also be easily extended to support additional properties exposed by other modules. In combination with Drupal's theme inheritance you can easily achieve features like:

  • individually-styled channels
  • a front-page / "splash" screen
  • a date/time-selected Christmas theme
  • mobile themes for different auto-detected mobile devices
  • special themes for "limited" or "old" browsers
  • content, user, or role -specific themes
  • indicating your environment (production, staging, testing, sandbox, … )
  • testing your redesign safely on a live server
  • ...

And unlike other theme switching modules, ThemeKey should play well with internal and external page caches, like Boost or Varnish, even for anonymous users.

Feedback is welcome!

Damn, ThemeKey ... ROCKS! Really appreciate the kick ass work you did on this :) mortendk


Share Buttons by AddToAny

AddToAny Logo

Share buttons for Drupal including AddToAny's universal sharing button, Facebook, Twitter, Google+, Pinterest, WhatsApp and many more.

Large vector share buttons use AddToAny SVG sharing icons. AddToAny vector icons load efficiently, are mathematically precise, scalable to any size, and stunning on High-PPI screens such as Retina and Retina HD displays.

Share buttons

  • Universal sharing button
  • Modern SVG sharing buttons
  • Traditional PNG sharing buttons
  • Elegant Drupal integration
  • AJAX support
  • Display on articles
  • Display on article teasers
  • Display on pages
  • Display in blocks
  • Display in custom nodes



Retina Images

Retina Images adds an option to all image effects included with core to allow them to output high resolution images for high DPI or retina displays. When enabled as part of an image style, this module returns high resolution images for all devices, as is recommended and explained in Thomas Fuchs' excellent blog post and examples on this subject.



Browscap provides an improved version of PHP's get_browser() function.

The get_browser() function can be used to tell what a visitor's browser is capable of. Unfortunately, the version provided by PHP has a number of limitations, namely:

  • It can be difficult or impossible to configure for shared hosting environments.
  • The data used to identify browsers and determine their capabilities requires consistent maintenance to keep up-to-date.

Browscap automates maintenance by storing browser data in a database and automatically retrieving the latest data on a configurable schedule.


Juicebox HTML5 Responsive Image Galleries

Juiceboc gallery screenshot

This module provides an integration between the popular Juicebox HTML5 responsive gallery library and Drupal. Juicebox is in many ways the successor of Simpleviewer and offers a powerful cross-device solution for image galleries, sliders and more.

The Juicebox library, which is distributed, maintained and supported separately from this Drupal project, is:

  • Based on HTML5 and supports "universal playback". This means it can run on nearly any device and supports multiple input methods (touch gestures, etc.).
  • Fully responsive so galleries can dynamically re-size and adapt to different browser sizes.

This Juicebox module integrates with the library and allows you to turn arbitrary Drupal image data into Juicebox galleries. It includes:

  • A field formatter that allows image and file fields to be formatted as Juicebox Galleries (individual nodes/entities can contain Juicebox galleries).
  • A views style plugin that allows content and file views to be formatted as Juicebox galleries (groups of nodes/entities or files can become Juicebox galleries).



Modernizr - Frontend development done right

Modernizr tests which native CSS3 and HTML5 features are available in each browser and makes the results available to you in two ways: as properties on a global Modernizr object, and as classes on the <html> element. This information allows you to progressively enhance your pages with a granular level of control over the experience.

This Drupal module provides deep integration with the Modernizr JS library, allowing other modules or themes to register tests, load additional assets as needed, and even create new copies of the Modernizr library when a website's requirements change. Read more below.



This Drupal module provides IE 6-8 support for responsive themes. It uses Respond.js, delivering lightweight, fast support for min-width and max-width CSS3 media queries. This module simply loads the JS library and optionally supports Libraries API.

Respond.js lives on Github, so look for documentation, code, and downloads over there.

Why should I use a module?

Since respond.js is a presentational script, its placement within your HTML can dramatically impact page performance and execution time, especially on less capable browsers with slower JS engines. This module takes the guesswork out of placement and puts the script where it will be most effective.

  • Optimal location is in the <head> after your CSS but before most* JS files.
  • Placing Respond too low in HTML or after too many other JS requests can delay IE's execution by whole seconds, resulting in poor UX.
  • Placing Respond in the .info file of a theme causes Drupal to aggregate it with other JS files, which will also delay execution time.


Mobile Theme

Mobile Theme Screenshot

Adds the ability to choose a mobile theme in admin/build/themes/settings which is used for serving users on mobile devices.

Mobile Detection

Mobile Themes

This is a list of themes that work well on mobile devices. If you have any other recommendations, feel free to post a note!

More Information

If you're looking for a more advanced solution, please have a look at Mobile Tools or iDrupal. This module works well with Mobile JS Redirect when using subdomain mobile detection.


Touch Icons

Touch Icons theme settings

The Touch Icons module allows site administrators and themers to specify icons for use as Web Clip bookmarks on the homescreen of an iPhone and other iOS devices.

Extra theme settings are provided so that Touch icons can be configured for each theme, similar to the logo and shortcut icon settings provided by Drupal core. The module comes with default Druplicon touch-icons which complement Garland's blue look.


Mobile Switch

Use Mobile Switch

The Mobile Switch module provides various functionalities to develop mobile ready websites, based on device detection by Browscap or Mobile Detect.




Slick Carousel

Drupal slick carousel

Slick is a powerful and performant slideshow/carousel solution leveraging Ken Wheeler's Slick carousel.
See http://kenwheeler.github.io/slick


Mobile Tools


The Mobile Tools module provides Drupal developers with some tools to assist in making adjustments to your site based on the visitor's device.

  • Contextual switching of content and layout
  • Exportable configurations using Spaces and Features
  • Define your sites via domain, sub domain, path, path pairs and query string
  • Server side feature detection using Browscap
  • Automatic redirection to a site based on device group
  • Mobile bookmark popup/Add to home screen notification
  • Media Query builder
  • anything else we can think of!

Mobile Tools integrates with the following modules to enable the described functionality

  • PURL
  • CTools
  • Context
  • ThemeKey
  • Browscap
  • Spaces
  • Panels
  • Features
  • Context HTTP Headers

Mobile Tools 3.x



Image Lazyloader

Lazyloader Settings

This is a small helper module which will automatically lazyload all images for sites with multiple images, which will make the site load faster.

All images will only load when it's visible to the browser window.

Available Settings:
1) Enable/Disable
2) Distance - image distance from the viewable browser window before the actual image loads
3) Placeholder Image - stand-in image
4) Loader Icon - animating icon (shamelessly borrowed from ajaxblocks module)
5) Excluded Pages - page paths to be excluded from image lazyload

For other images:
You can also manually lazyload your other images not processed by Drupal image module by formatting your img markup to this:

1) src = path to placeholder image
2) data-src = path to actual image
3) width = add width for best result
4) height = add height for best result
5) Add a container block


<div class="image-container"><img src"/sites/default/files/image_placeholder.gif" data-src="/sites/default/files/actual_image.jpg" alt="Image" /></div>


Mobile Navigation

Mobile Navigation Logo version 2

Mobile Navigation helps us easily implement a nice solution for displaying menus on the mobile version of a responsive website.
I have found many ways of doing this out there, but they are not precisely the best solution regarding performance or they need the work of implementing a third party JQuery plugin or having to learn javascript and programming the whole thing.
With this module you may only need to install the module as usual and then out of the box have all that is needed to implement a mobile version for menus, featuring some simple configurations that will let you personalize the behavior of this mobile versions.


Mobile sliding menu

Drupal mobile sliding menu module - demo example

The mobile sliding menu module integrates the mmenu jQuery plugin for creating slick, app look-alike sliding menus for your mobile website.


Browscap Block

Browscap Block adds visibility options to block configuration settings to allow you hide or show blocks in mobile devices.

If you are looking for the same thing for Panel panes check out Browscap CTools.

How to use this module

Install as usual, then...


Bx Slider

BxSlider module integrates the bxSlider library with Fields.



Barcode - QR Code - Drupal Module

The Barcode module provides a text field to generate barcode images.


  • FreeType Support and GB Support enabled for PHP
  • Barcode for D6 requires content.module to be installed.


  1. Place the entire barcode directory into the directory in which you've chosen to place contrib modules (usually sites/all/modules).
  2. Enable the barcode module by navigating to: administer > modules
  3. Copy your font to the barcode/ folder (D6)
  4. Finish the configuration at admin/content/barcode (admin/settings/barcode in D6 v2 and admin/config/media/barcode in D7 v2) specifying the location of your font file and the desired encoding.
  5. Add barcode fields to your content types as desired.


  • Generate a barcode image on the fly. It supports QR Code, EAN-13, EAN-8, UPC-A, UPC-E, ISBN, 2 of 5 Symbologies (Strandard, Industrial, Interleaved), Postnet, Codabar, Code128, Code39 and Code93 symbologies.
  • You can also display the barcode as simple text, or an image.
  • You can provide your own font file at fonts directory

Upgrade from 1.0 to 2.0


Shareaholic | share buttons, related posts, social analytics & more

Shareaholic for Drupal

The easiest, most effective way to grow your website traffic, effectively engage your audience, monetize, and gain insights for free.

Shareaholic is an all-in-one content amplification and monetization platform, that includes related content recommendations, promoted content, social sharing, following, site monetization apps such as affiliate linking, and social analytics. This module makes it a snap for any website — big or small — to engage and grow their traffic, market their content, gain insights, and monetize their traffic, all from one powerful but easy-to-use dashboard.

This module is actively developed (GitHub), maintained and supported with much love by Shareaholic.

Recent Updates:



DrupalGap Application Development Kit Logo

DrupalGap is an open source application development kit for Drupal websites. It can be used to easily build custom mobile apps, and web apps for Drupal websites.

Home page: drupalgap.org
Dev kit: github.com/signalpoint/DrupalGap


Mobile Codes

The Mobile Codes module provides the ability to render Text, URLs or any other form of informaton as a Mobile Code, including but not limited to the QR codes and Datamatrix formats, providing a simple way of transfering said information from the screen to a Mobile phone.

Mobile Codes was written and is maintained by Stuart Clark (deciphered).
- http://stuar.tc/lark



  • User definable and Features exportable Mobile Code Providers and Presets.
    • Defaults provided:
      • Six (6) External Providers.
      • One (1) Internal Provider (see below).
      • Three (3) to five (5) Presets (based on installed modules).
  • Render Mobile Codes via:
    • CCK/Fields/Views formatters:
    • Input filter.
    • Drupal API Theme() call.
  • Blocks:
    • Node URL block - Creates a Mobile Code of the current Node URL.
    • User vCard - Uses the vCard module to provide a vCard Mobile Code from a Nodes Author or a users profile.
    • [D6] Mobile Code generator - An Admin module optimized helper block.
  • Support for:
    • [D7-DEV] Drupal core Image module - Use an Image style on the Mobile Codes.
    • [D6] Mobile Tools module - Redirect internal Mobile Code URLs to Mobile site URL.
    • [D6] Redirecting Click Bouncer module - Track URLs accessed via Mobile Codes.
    • Shorten module - Shorten URLs in Mobile Codes.