37,849 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.

Modal forms (with ctools)


Modal forms make use of the modal feature in the ctools module to open some common forms in a modal window.

Commerce Search API

Provides Commerce-specific Search API integration.

Included in the box:

  • Automatically created Search API db server, if none is found.
  • Auto-generated search index that includes all product display node types* and related product data.
  • Auto-generated facets for all node type categories and product attributes.
  • Optional integration with Search API Ranges (allowing for a price slider, for example).
  • Search API Filter class for product display node types* (allowing for an index composed only of product displays)
  • Facet API Filter class for removing facet items that do not change search results.
  • Facet API Filter class for hiding certain facets on the initial search (so that product attribute facets are only shown after the initial search, for example).
  • Reindex the product display when a product variation is updated.
  • Provide backreference Entity API properties (Retrieve the product display from the product)

* - Every node type with a product reference field is considered a product display node type.

Webform Hints

A webform with Webform Hints enabled.

This module allows users to enable automatic placeholders to textfields, textareas, select lists, and email fields within a webform created by the Webform module.

The placeholders provided by Webform Hints use the component's title and are applied on a per-webform basis. When the HTML5 placeholder attribute isn't available, this module grants optional legacy browser support using a jQuery Plugin fallback. Label elements are then hidden via .element-invisible to keep them available to screen readers. Required indications are also present and configurable.

Webform Hints & Webform 4.x

The 4.x branch of Webform now includes support for customizable placeholders on a per field basis. Webform Hints may still be useful in the following situations:

  • jQuery Fallback Support: Provide support for legacy browsers that don't support the placeholder attribute.
  • Blanket placeholders: Admins who don't want to configure placeholders on each field but want blanket placeholder support (Webform Hints simply takes the field label and adds it as a placeholder, hiding the label all together).
  • Webform 3.x and below: Sites still using Webform 3.x and below who'd like to add placeholder support to their webforms.


Search Autocomplete

Version 2.0 preview


This module allows you to add autocomplete functionality to virtually any fields of a Drupal site. During the input, the field will be expanded and offer a list of suggestions before you start the search.
By default, the module integrates with search forms from the Drupal core Search and Search Block.

Optionnal: use views module to create your own suggestion set easily.
Optionnal: use transliteration module to build suggestions regardless of special characters (é, è, ç, etc...)


  • Autocomplete virtually any form in your website using id selector.
  • Uses either static data, external or internal URL callback or an embeded view style to easily create your suggestions set.
  • Forms to autocomplete are individually configurable
  • Many css styles embedded, or just add your own one
  • Using the embeded Views format (requires Views) any type of suggestions can be used:
    - words (any word in your site)
    - node titles
    - comment titles (if optional module comment enabled)
    - taxonomies (if optional module taxonomy enabled)
  • - ....

Focal Point


Focal Point allows you to specify the portion of an image that is most important. This information can be used when the image is cropped or cropped and scaled so that you don't, for example, end up with an image that cuts off the subject's head.


Introduced in Drupal 6, the Schema API allows modules to declare their database tables in a structured array (similar to the Form API) and provides API functions for creating, dropping, and changing tables, columns, keys, and indexes.

The Schema module provides additional Schema-related functionality not provided by the core Schema API that is useful for module developers. Currently, this includes:


The MediaElement module brings the MediaElement.js html5 player plugin to Drupal. MediaElement is a jQuery based JavaScript plugin that enables the video and audio tags using h.264 to work under browsers that do not support the tag or the codec and provides a consistent interface across all browsers.

Panels Breadcrumbs

Panels Breadcrumb configuration

Panels Breadcrumbs allows you to set your breadcrumbs directly from Panels configuration, and also allows you to take advantage from Panels arguments and contexts as placeholder tokens.


The Breadcrumb configuration is saved along with the page, which means that if you export the page through a Feature, the breadcrumbs you've set will also have been exported.

New in 2.x

Support for Panelizer and configurable breadcrumb panes. Panelizer support requires a panelizer 7.x-3.x version from at least 30 November 2012.

Development sponsored by DRI Discovery/Reinvention/Integration/


Need to configure meta tags within Panels? Check Metatag module. It now comes with Panels support.


IMCE Crop Screenshot

Adds image cropping functionality to IMCE through its UI.

1. Go to admin/settings/imce Assuming you have already created a IMCE profile. Under section 'Configuration profiles' click on approprate 'Edit' link.

2. On the next page find section 'Directories'. Set appropriate permission using the check box 'Crop'.

3. Click on 'Save configuration' button.

4. To test use IMCE. A new 'Crop' tab button will be display. Follow instructions on screen.

Commerce AutoSKU

Commerce AutoSKU allows administrators to generate SKU's for Drupal Commerce products automatically. Using tokens, the SKU can be generated based on the value of arbitrary product fields such as title, author, or any custom fields you have added. Additional sitewide tokens are available when the Token module is enabled.

Webform Phone Number

This module adds a "Phone Number" field type for webform forms. It uses the same validation/formatting as the field type Phone Number provided by the phone module.



This module does not and will not prevent your site from being 'hacked'.

This module scans the currently installed Drupal, contributed modules and themes, re-downloads them and determines if they have been changed. Changes are marked clearly and if the diff module is installed then Hacked! will allow you to see the exact lines that have changed.

Hacked! also provides drush integration so that you can see what files have changed from the command line.

This is primarily a developer tool and should never ever (don't even think it) be installed on a production site.

Similar modules

There are a number of other 'integrity' modules, such as 'md5check', 'File integrity check' and 'Sentry'. These modules have features to protect a live site from code changes or to only check Drupal core.

Windows support

Windows is not currently supported by this module, if you want to write a patch to get it fully working, then please post it in the issue queue.

About the Developers

Cloud Zoom

Cloud Zoom

IMPORTANT: The 1.x plugin has been removed from the Professor Cloud website. Only the 2.x plugin is available now, which is not tested with the module and is only free for non-commercial use.

Session Limit

Session Limit allows administrators to limit the number of simultaneous sessions per user.


A framework module to embed things using the Drupal 8 WYSIWYG editor.

Current architecture discussion: https://drupalmedia.hackpad.com/Embed-module-71ubAT132P3

Related Modules

Commerce Checkout Progress


Drupal 8

Checkout progress block has been added to core.


Adds a block visible on checkout pages that shows what step of the checkout process the user is currently on. The status is an unordered list with each checkout page title being an item. The active page is designated in the list with an "active" class.



"The cck model for voting with Drupal" (source)

This module provides flexible voting widgets for nodes and comments.

Administrators can add multiple widgets. By default, there are 8 widget types to choose from:

  • Thumbs up
  • Thumbs up / down
  • Number up / down
  • Fivestar
  • Emotion (this makes me mad, angry...)
  • Yes / no
  • Slider
  • Custom

By using "custom" you can customize the rating buttons and Voting API mode. Widget types can be extended by other modules. Other features include:

  • Views integration
  • Nodes get an extra tab with voting results per widget, which shows:
    • Total vote count
    • Average rating
    • Total points (for thumbs up / down)
    • Vote count per button
    • Chart of vote count per button, per day
  • Multiple ratings on the same node (i.e. for "comfort", "location", "services" etc.)
  • Voting can be closed at a configurable period after node creation
  • Start- and enddates can be configured per node, per widget

Display Suite Bootstrap Layouts

17 Bootstrap Layouts

This module adds some of the most common Twitter Bootstrap layouts to Display Suite.



Nothing particular, just download and enable as described in Installing contributed modules.

17 Available layouts

Single column:

  • Bootstrap: 12

Two columns:

  • Bootstrap: 2 - 10
  • Bootstrap: 3 - 9
  • Bootstrap: 4 - 8
  • Bootstrap: 5 - 7
  • Bootstrap: 6 - 6
  • Bootstrap: 6 - 6 stacked
  • Bootstrap: 6 - 6 bricks
  • Bootstrap: 7 - 5
  • Bootstrap: 8 - 4
  • Bootstrap: 9 - 3
  • Bootstrap: 10 - 2

Three columns:

  • Bootstrap: 2 - 8 - 2
  • Bootstrap: 3 - 6 - 3
  • Bootstrap: 4 - 4 - 4
  • Bootstrap: 4 - 4 - 4 stacked
  • Bootstrap: 5 - 5 - 2

Additional layouts in dev version

  • Bootstrap: 1 - 11
  • Bootstrap: 11 - 1


    Panels Everywhere

    Panels Everywhere is an advanced method to completely do away with Drupal's restrictive blocks system and instead use the much more freeing Panels Layout system to control how your pages look. Panels Everywhere modifies the page as it is being rendered to 'wrap' the content in a display and can even take over your page theme to do away with the need for a page.tpl.php.

    Doing this requires that you set up a few things properly, because Drupal is not really designed for this kind of behavior. Be sure to read the README before trying to use this module.

    This module requires both the Panels module, and the Page Manager module from the Chaos Tools Suite.

    Themes with Panels Everywhere support

    The following is a non-exhaustive list of themes that are known to have support for Panels Everywhere:

    • Tinsel - Garland converted to use for Panels Everywhere
    • Panany - Very nice simple theme by jwolf, has extra Panels Styles also.
    • AT Panels Everywhere - Jeff Burnz version of Adaptive Theme with Panels Everywhere support.

    Custom Formatters

    The Custom Formatters module allows users to easily create custom Field Formatters without the need to write a custom module. Custom Formatters can then be exported as CTools Exportables, Features or Drupal API Field Formatters.



    • Pluggable editor/renderer engines:
      • Formatter preset
        Create simple formatters from existing formatters with preset formatter settings.
      • HTML + Tokens
        A HTML based editor with Token support.
      • PHP
        A PHP based editor with support for multiple fields and multiple values.
      • Twig
        A Twig based editor provided by the Twig filter module.
    • Supports for all fieldable entities, including but not limited to:
      • Drupal core - Comment, Node, Taxonomy term and User entities.
      • Field collection module - Field-collection item entity.
      • Media module - Media entity.
    • Exportable as:
      • Drupal API formatter via:
        • Custom Formatters export interface.
      • CTools exportable via:
        • Custom Formatters export interface.
        • CTools Bulk Export module.
        • Features module.
    • Live preview using real entities or Devel Generate.
    • Integrates with:
      • Coder Review
        Review your Custom Formatter code for Drupal coding standards and more.
      • Contextual links (Drupal core)
        Adds a hover link for quick editing of Custom Formatters.
      • Display Suite
        Format Display Suite fields.
      • Features
        Adds dependent Custom Formatters (from Views or Content types) to Feature.
      • Form Builder
        Drag'n'Drop interface for builder Formatter Settings forms.
      • Insert
        Exposes Custom Formatters to the Insert module.
      • Libraries API and the EditArea javascript library
        Adds real-time syntax highlighting.
      • Token
        Adds the Token tree browser to the HTML + Tokens engine.


    Vocabulary Permissions Per Role

    Allows adding to/editing terms of/removing terms from vocabularies per role.

    You have set up some vocabularies (with some terms) like Color (Red, Green, Blue) and Shape (Toroid, Cube, Sphere). Maybe you even have a vocabulary that controls who can view a specific node (with terms) like Access control (Editors, Colleagues, World). Here comes trouble: your precious editors want to add more Colors, or reorder the terms of the Shape vocabulary (probably they want to see Sphere before Cube, who knows,) and you do NOT want to grant your editors the administer taxonomy permission, as it grants too much power (and that implies too much sharing of responsibility). Without this permission they were NOT able to do the mentioned tricks: adding terms to a vocabulary but not to another, reordering/editing terms of a vocabulary but not another's, etc.

    These problem of yours is the past--just download and install vppr.module, and set it up at Administration >> Site configuration >> Vocabulary permissions.

    Path redirect

    Path redirect listing page

    This module allows you to specify a redirect from one path to another path or an external URL, using any HTTP redirect status.

    #D7CX: I pledge that Path redirect will have a full Drupal 7 release on the day that Drupal 7 is released. Note that the project has moved to http://drupal.org/project/redirect for Drupal 7.


    This module adds the ability for site admins to add "Markup" widgets to the form. These essentially let designers of cck content-types insert additional markup into the node/edit form to display to content-authors. This is the equivalent of adding additional elements to $form of the type '#markup'.

    The module does not add anything to the $node object for the content being created, and utilizes form_alter to remove unnecessary fields from the '_content_admin_field' form when this widget is being created.

    Environment Indicator


    This module will help you to keep sane while working on your different environments by adding a configurable color bar to each one of your environments. The Environment Indicator adds a coloured bar on the site informing you which environment you're currently in (Development, Staging, Production, etc.). This is incredibly useful if you have multiple environments for each of your sites, and like me, are prone to forgetting which version of the site you are currently looking at.

    This module can help you avoid making configuration changes to your live server by mistake by adding a coloured strip to the side of your site, clearly marking each version of the site.