1,448 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.


You need Views if

  • You like the default front page view, but you find you want to sort it differently.
  • You like the default taxonomy/term view, but you find you want to sort it differently; for example, alphabetically.
  • You use /tracker, but you want to restrict it to posts of a certain type.
  • You like the idea of the 'article' module, but it doesn't display articles the way you like.
  • You want a way to display a block with the 5 most recent posts of some particular type.
  • You want to provide 'unread forum posts'.
  • You want a monthly archive similar to the typical Movable Type/Wordpress archives that displays a link to the in the form of "Month, YYYY (X)" where X is the number of posts that month, and displays them in a block. The links lead to a simple list of posts for that month.

Views can do a lot more than that, but those are some of the obvious uses of Views.

Views for Drupal 8

Views is in Drupal 8 Core!



Date Popup module

This package contains both a flexible date/time field type Date field and a Date API that other modules can use.

The D5 and D6 versions of the Date field require the Content Construction Kit (CCK) module. The D7 version works with the core Field functionality.
D8 includes Date in core.

The Drupal Handbook pages are at Date/Calendar Documentation.

Be sure to read Debugging Information before reporting a problem. Going through those steps may resolve your problems and will help provide enough information to tell if this is a bug.



Webform Screenshot

Webform is the module for making forms and surveys in Drupal. After a submission, users may be sent an e-mail "receipt" as well as sending a notification to administrators. Results can be exported into Excel or other spreadsheet applications. Webform also provides some basic statistical review and has an extensive API for expanding its features.



IMCE Screenshot

IMCE is an image/file uploader and browser that supports personal directories and quota.



The features module enables the capture and management of features in Drupal. A feature is a collection of Drupal entities which taken together satisfy a certain use-case.

Features provides a UI and API for taking different site building components from modules with exportables and bundling them together in a single feature module. A feature module is like any other Drupal module except that it contains additional information in its info file so that configuration can be checked, updated, or reverted programmatically.

Examples of features might be:


XML sitemap

The XML sitemap module creates a sitemap that conforms to the sitemaps.org specification. This helps search engines to more intelligently crawl a website and keep their results up to date. The sitemap created by the module can be automatically submitted to Ask, Google, Bing (formerly Windows Live Search), and Yahoo! search engines. The module also comes with several submodules that can add sitemap links for content, menu items, taxonomy terms, and user profiles.

Please read the included README.txt, the handbook documentation, and the current list of known issues for more information before using the module.




Requires Views and the Date API (packaged with the Date module).

This module will display any Views date field in calendar formats, including CCK date fields, node created or updated dates, etc. Switch between year, month, and day views. Back and next navigation is provided for all views. Lots of the Calendar functionality comes from the Date module, so any time you update the Calendar module you should be sure you also update to the latest version of the Date module at the same time.

See also Date iCal, a project that contains code and features needed to either import or export dates using iCal feeds. The functionality that used to be in the Calendar iCal module has been moved into that module.

Be sure to read Debugging Information before reporting a problem. Going through those steps may resolve your problems and will help provide enough information to tell if this is a bug.


Better Exposed Filters

Better Exposed Filters

The Better Exposed Filters module replaces the Views' default single- or multi-select boxes with radio buttons or checkboxes, respectively. Description fields and Select All/None links can be added to exposed filters to make for a better user experience.

Views Filters is a powerful tool to refine the results returned by a given view. When you expose a filter, you allow the user to interact with the view making it easy to build a customized, advanced search. For example, exposing the node type field as a filter lets your site visitor limit their search queries to just blog entries. Better Exposed Filters gives you greater control over the rendering of exposed filters.

Why use this module? Because it provides a better user experience than the default option. Try telling a client that they should click on an option, then scroll to the next option and ctrl+click on it. Don't just click 'cause you'll lose your first selection. Oh, and ctrl+click again to unselect an option... Yeah, not user friendly.

People understand checkboxes and radio buttons.

What else can I do with BEF?

The BEF handbook page provides some basic recipes making exposed filters a much better user experience.

  • Add help text for each exposed filter


Facet API

Facet displays


The Facet API module allows site builders to easily create and manage faceted search interfaces. In addition to the UI components that come out of the box, themers and module developers can build their own widgets that can optionally be contributed back to Drupal.org. Facet API works with the core Search, Search API, and Apache Solr Search Integration modules (including Acquia Search) meaning that code and configuration can be reused as-is with the most popular search solutions available to Drupal. Refer to the documentation for more details.

How to Contribute



This module allows nodes to be published and unpublished on specified dates.


File (Field) Paths

The File (Field) Paths module extends the default functionality of Drupal's core File module, Image module and many other File upload modules, by adding the ability to use entity based tokens in destination paths and file names.

In simple terms, File (Field) Paths allows you to automatically sort and rename your uploaded files using token based replacement patterns to maintain a nice clean filesystem.


Drupal 8

Work is underway to port File (Field) Paths to Drupal 8, but in the interim there is an unofficial port available at https://github.com/MichelleCox/filefield_paths.

Please note that the unofficial port will not be supported in the issue queue and that there is no guarantee that there will be an upgrade path from the unofficial port to the official port.



  • Configurable file paths now use entity tokens in addition to user tokens.
  • Configurable file names.
  • Support for file based fields, including but not limited to:
    • Drupal core File module
    • Drupal core Image module
    • Video module.
  • File path and filename cleanup options:
    • Remove slashes from tokens.
    • Filter out words and punctuation by taking advantage of the Pathauto module.
    • Convert unicode characters into US-ASCII with the Transliteration module.
  • Automatically updates unprocessed file paths in any Text fields on the entity.
  • Retroactive updates - rename and/or move previously uploaded files.
  • Active updating - actively rename and/or move previously uploaded files.
  • Automatically create an redirect when moving uploaded files using the Redirect module.



This module adds a weight option to enabled node types. Nodes with lower weight will float to the top of lists, while heavier items will sink.

You might be interested in reading Comparison of Node Ordering Modules.




Chosen uses the Chosen jQuery plugin to make your <select> elements more user-friendly.


  1. Download the Chosen jQuery plugin and extract the file under sites/all/libraries.
  2. Download and enable the module.
  3. Configure at Administer > Configuration > User interface > Chosen (requires administer site configuration permission)

How to use Chosen as a widget in Fields UI:

Chosen can be applied to select list widgets. Go to the field settings and check "Apply Chosen to this field".

Installation via drush (<= 7.x-2.0-alpha3)

A Drush command is provided for easy installation of the Chosen plugin.

drush chosenplugin

The command will download the plugin and unpack it in "sites/all/libraries".
It is possible to add another path as an option to the command, but not
recommended unless you know what you are doing.

Dependencies (<= 7.x-2.0-alpha3)


SEO Checklist

SEO Checklist tasks

Drupal SEO Checklist - What is it?

The Drupal SEO Checklist uses >Drupal SEO best practices to check your website for proper search engine optimization. It eliminates guesswork by creating a functional to-do list of modules and tasks that remain. Updated regularly with the latest techniques, it makes on-page Drupal search engine optimization hassle-free.

It breaks the tasks down into functional needs like Title Tags, Paths, Content and many more. Next to each task is a link to download the module from D.o and a link to the proper admin screen of your website so that you can configure the settings perfectly.

Drupal SEO Checklist also keeps track of what has already been done. It places a date and time stamp next to each item (when you click save). That provides a simple report that you can share with others showing what's been done.

You need Drupal SEO Checklist if

  • You know SEO basics pretty well
  • You work on a lot of different websites and need help keeping track of what you've done on each
  • You know how to properly configure modules for SEO needs
  • You are a list-maker! Or, you simply enjoy checking things off when they're done.

Drupal SEO Checklist does not:

  • Provide good SEO strategy


jQuery plugins

The jquery_plugin module provides miscellaneous jQuery plugins, which can be loaded from any module or theme by calling jquery_plugin_add($plugin) in Drupal 6 or drupal_add_library('jquery_plugin', $plugin) in Drupal 7. The Drupal 6 version supports jQ, a jQuery plugin registry.



Test message


Lets you theme your messages the same way you theme the rest of your website.


Memcache API and Integration

Memcached logo


This module provides integration between Drupal and Memcached with the following features:

  • An API for using Memcached and the PECL Memcache or Memcached libraries with Drupal.
  • Memcache backends for the following systems (all drop-in):
    • Caching (memcache.inc)
    • Locking (memcache-lock.inc)
    • Sessions (memcache-session.inc) (D6 only)
  • A module that provides a comprehensive administrative overview of Drupal's interaction with Memcached and stats.
  • A set of tests that can be run to test your memcache setup.


Please help us test 6.x-1.11-rc1, released November 4th, 2015. Not recommended yet for production, but very much ready for rigorous testing!



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


EU Cookie Compliance

Drupal 8 stable version will be coming before end of year 2015.

Notice: If you are using a responsive theme please use the 7.x-1.12 version or later of the module.


This module intends to deal with the EU Directive on Privacy and Electronic Communications that comes into effect in the UK on 26th May 2012. From this date on, you run the risk of enforcement action if you are not compliant or visibly working towards compliance. More information can be found here

The above information applies to the UK however the EU law will be enforced in all EU countries and hence the module can be used everywhere in the EU.

By enabling and configuring the module you will demonstrate to the regulator that you, as the owner of the website:

  • are doing as much as possible to reduce the amount of time before your visitors receive information about cookies (information appears as soon as a visitor enters the site).
  • are providing your visitors with options. (find out more about cookies, do not browse if you disagree).
  • ensure that the information on cookies is readily available to your visitor(visible pop-up at the bottom of the screen).


Commerce PayPal

This project integrates PayPal into the Drupal Commerce payment and checkout systems. It currently supports off-site payment via PayPal Payments Standard (WPS) and PayPal Express Checkout (EC), off-site or on-site payment via PayPal Payments Advanced (PPA) and Payflow Link (PFL), and on-site credit card payment via PayPal Payments Pro (WPP). The PayPal WPS / EC integration supports PayPal's Instant Payment Notifications (IPNs) to react to authorizations, captures, voids, and refunds with full logging for testing and debugging.

We recently added PayPal Bill Me Later support on top of the Express Checkout integration to enable merchants to extend financing opportunities to their customers.

The full integration for PayPal Express Checkout, PayPal Payments Advanced, and Payflow Link was added in the 2.x version of the module and has been verified by PayPal. There is no upgrade path for the 1.x branch, so it has been discontinued. Additionally, this module deprecates the third party project(s) attempting to extend this module for EC support.

Sponsored by Commerce Guys.


Migrate Extras

Migrate Extras extends Migrate to provide support for several contributed modules.

The best place to implement migration support for a contributed module is in that module, not in the Migrate or Migrate Extras modules. That way, the migration support is always self-consistent with the current module implementation - it's not practical for the migrate modules to keep up with changes to all other contrib modules. We are no longer adding support for other modules to Migrate Extras.


Migrate Extras 2.5 is now available. This is planned to be the final Migrate Extras release - the only work to be done with Migrate Extras going forward will be to port the contrib module support here directly to the respective supported modules.



Shortcodes are actually macros to be used in the text of contents. These macros change the text of the content and format the given part through the theme engine. This module defines few basic shortcodes only. (New ones will come.)

Shortcode is an API that handles the shortcode macros for text formats. You can add your own shortcode tags via this API. All tags are themeable and new tags can be provided by other modules.

Initial work is based on the Wordpress Shortcode API but was reworked for Drupal. You can nest tags (within same tags too), no need for special recursion handling.

Macros come with this module

Shortcode basic tags module

  • [quote] Replace the given text formatted like as a quote.
  • [img] Show an image.
  • [highlight] Insert a span with highlight css class around the text.
  • [button] Insert a link formatted like as a button.
  • [dropcap] Replace the given text formatted like as a dropcap.
  • [item] Insert div or span around the text with some css classes.'
  • [clear] Insert a float-clearing div for a proper layout.
  • [link] Makes an aliased link to the given path.




This module provides many country related tasks.

  1. A fieldable countries database with an administrative interface.
  2. A way to alter Drupals core country list.
  3. A country FAPI element.
  4. A countries field.
  5. Integration with Country Icons.
  6. Token support.
  7. Up to date countries database including Bonaire, Sint Eustatius and Saba BES, Curaçao CUW, South Sudan SSD, Sint Maarten (Dutch part) SXM which are not covered by Drupal core.


Date Popup Authored

Date Popup Authored in action

Date Popup Authored provides a jQuery UI datepicker for the Authored on date field found on node submission forms.

This allows content editors to pick a human-understandable date and not have to type the exact date format of the default Authored on field.


Field validation

This module adds an extra tab to each field instance, allowing you to specify validation rules for your field instances.

The following validators are currently included (7.x-2.x):

  • Regular expression
  • Numeric values (optionally specify min and / or max value)
  • length (optionally specify min and / or max length)
  • number of words (optionally specify min and / or max words )
  • Plain text (disallow tags)
  • Must be empty (Anti-Spam: Hide with CSS)
  • Words blacklist
  • number of selections (optionally specify min and / or max selections )
  • Unique
  • Match against a field
  • Match against a property
  • Specific value(s)
  • Require at least one of several fields
  • Equal values on multiple fields
  • Unique values on multiple fields
  • PHP Code (powerfull but dangerous)
  • URL (support internal path and external url validation)
  • Email
  • Pattern (Regular expression lite)
  • Date range2

Following validators are included in sub module field validation extras:

  • Color(HTML5)
  • Date(ISO)
  • EAN number
  • Field collection unique
  • Integer values
  • IP Address
  • Numeric(HTML5, with the option to specify min/max/step)