17,750 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.

Clientside Validation

Settings for enclosing the fieldname

This module adds clientside validation (aka "Ajax form validation") for all forms and webforms using jquery.validate. The included jquery.validate.js file is patched because we needed to be able to hide empty messages.

#D8CX: I pledge that Clientside Validation will have a full Drupal 8 release on the day that Drupal 8 is released.


Features Override

Features Override is used to change (override) existing Features. You may want to use it if:

  • You are installing a feature module that requires this module.
  • You have a site built on features - e.g., an Open Atrium or Commerce Kickstart site - and you want to make changes without losing them when you upgrade to a new version.
  • You are a feature developer looking to selectively override components (Views, content types, etc.) of existing features and export just the changes to code.

Initial 1.x development sponsored by Chocolate Lily. The 7.x-1.x branch was unstable with several reported issues for views (and, likely, panels). That branch has been abandoned with new development occurring in the 7.x-2.x branch (sponsored by Phase2 Technology). Drupal 6 users should continue to use the 6.x-1.x version...no 2.x branch is planned.

NOTE: Overrides exported with version 1.x are NOT COMPATIBLE with overrides exported with version 2.x. If upgrading you should disable the 1.x override, remove the 1.x Features Overrides module, install/enable the Features Overrides 2.x version, then re-export your changes as new overrides.




Revision summary page

Revisioning is a module for the configuration of workflows to create, moderate and publish content revisions.
You use it in scenario's like this:

  • Authors write content that prior to being made publicly visible must be reviewed (and possibly edited) by moderators. Once the moderators have published the content, authors should be prevented from modifying it while “live”, but they should be able to submit new revisions to their moderators.
  • We shouldn't have to grant these roles “god-like” powers (e.g. D6's "administer nodes" permission) to implement this.


Automated Logout

autologout block example

This module provides a site administrator the ability to log users out after a specified time of inactivity.
It is highly customizable and includes "site policies" by role to enforce logout.


Video.js (HTML5 Video Player)

Video.js is a HTML5-based video player with a built-in Flash fallback for older browsers. This means that videos can be played on nearly all devices and operating systems, provided the right codecs are used.

This module is a support module for Video.js. It doesn't contain Video.js itself, but integrates it with the File, Link and Video modules after you've installed it.


DB Maintenance

DB maintenance optimizes administrator-selected tables in the database during regular cron.php executions. For MyISAM tables, OPTIMIZE TABLE repairs a table if it has deleted or split rows, sorts table indexes, and updates table statistics. For BDB and InnoDB, OPTIMIZE rebuilds the table. Note, MySQL locks tables during the time OPTIMIZE TABLE is running.


Facebook Like Button

Rather than having to manually copy/paste the Like this on Facebook code for each piece of content you (or your users) create, this module will automatically add that code to the end of each chosen node type. You are able to add a Like button which likes a given URL (static, e.g. your homepage) or/and put a dynamic Like button on your page to like the page you are actually visiting.



The Drupal Openlayers Module

Features & Submodules

The OpenLayers core code stores map configurations: maps, styles, layers, and behaviors, and combines them to create maps using the OpenLayers JavaScript library on any Drupal site.
OpenLayers supports a wide range of map types and new types can easily be added as ctools exportables - new layer types are being added all the time. Currently the module supports OpenStreetMap, Google Maps, Yahoo Maps, Bing Maps, TMS, WMS, CloudMade, XYZ map types and the MapBox maps.
OpenLayers supports a wide range projections and new ones can easily be added as ctools exportables. Proj4JS is the JS library who allows to create custom projections, so, the proj4js module is now a dependency.
Map interactions like popups, zoom controls, editing, and fullscreen can be added via the UI and extended by other modules.
OpenLayers UI
This module allows for a user interface to create and store maps which can be used to customize all sorts of things like CCK Formatters to Views Plugins. Maps can be provided by code or stored in the database and integrated with Features.
OpenLayers Views


Fast Permissions Administration

Drupal 7

This module is here to alleviate frustration when trying to manage permissions in Drupal. By providing a better permissions interface hopefully a few innocent keyboards and mice can be saved.

All features work on all modern browsers and IE8+, unless otherwise noted.


The permissions page now provides a search field that will filter the permissions UI on-the-fly, allowing you to instantly find the permission that you are looking for.

You can also filter on the module a permission belongs to using the @ symbol:

For example, if you want to show only permissions that contain the word admin for the comment module you would enter:

Quick module filter:

You can click on module names in the list to the left to instantly show only that module's permissions.

If you already have a filter value, it will apply that to the newly selected module.

New features in 7.x-2.6



fancyBox 2 in Drupal

The Fancybox module is the best way to incorporate the fancyBox jQuery plugin into Drupal. Display images, HTML, YouTube videos, Google maps in an elegant and aesthetic lightbox alternative.


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.


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.



Proj4js Library loader

Utility functions to load the Proj4js library which provides support for reprojecting coordinates between various coordinate systems.

See the documentation of Proj4js for more information on how to use the library.




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.


Content Profile

This module builds user profiles as content (aka nodes), which opens the opportunity to use all the powerful modules for content for user profiles too, e.g. the Content Construction Kit (CCK). It's intended to be simple and useful, but extensible by further modules.

Content profiles can be restricted to certain roles; the module also supports separate content profiles for different roles.


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.



Field API Pane Editor (FAPE)

This module adds a contextual link to the Entity Field panel pane which allows that field to be edited without having to visit the entity's edit page. This field editor will open in an overlay if overlay.module is enabled.

This only affects the entity pane for a single field.

A Trello board is being used to help coordinate development.


Disable breadcrumbs

Disable breadcrumbs on a per node, per content type, or by path (any path) basis; Omitting the need to write additional code in the theme layer (template.php file etc..) to determine the visibilty of breadcrumbs on specific pages. This can be administered on node edit forms and from the content administration page (node operations) to select/unselect multiple nodes for enabled types.



Newsletter module aims to be a full blown newsletter solution for Drupal 7. It is especially recommended for people that need more than one newsletter list for their site.


Commerce Migrate

Commerce Migrate is a general-purpose migration framework extending Migrate Module for bringing store information into Drupal Commerce.

  • Migrate destination field handlers for commerce fields (reference fields, price field)
  • Migrate destination plugin for commerce product types.

Commerce Migrate depends on Migrate Extras for Entity API and Address Field integration.

Commerce Migrate Ubercart, formerly a submodule, has moved to its own project. It can migrate 6.x and 7.x Ubercart stores from either the existing Drupal database or a remote database.

When should you use Migrate/Commerce Migrate vs Feeds/Commerce Feeds?


Backup and Migrate Files

NOTE: This module has now been rolled into the 3.x branch of Backup and Migrate and is no longer supported independently.

This module is a plugin for Backup and Migrate and does nothing on its own. You must download and install Backup and Migrate 2.x (Aug 24 dev or later) to use this module. This module is not compatible with version 1 of Backup and Migrate.


Compact Forms


Compact Forms presents text fields for selected forms in a more compact fashion using jQuery.

The form item/element fields are overlaid with their respective labels. When the user focuses a field the label fades away nicely, and if the field is left empty the label fades back in again.

By default, only the user login block is switched to compact style, but the behavior can be added to any form by adding the corresponding CSS ids to the Compact Forms configuration.

  • Degrades back to the original form when JavaScript is switched off.
  • Fields like textareas and checkboxes are currently not affected.
  • Inspired by A List Apart


Block reference

Defines a field type Block reference which creates a relationship to a block and allows the block to be displayed as the content of the field. It saves this relationship using the block's bid, not its delta + module. Version 2 saves module + delta (moddelta), which is much more robust than bid.

Version 1

Widget "Select list (with drag-and-drop sort)" has been deprecated. Use Multiple Selects instead!


Contact form blocks

The Contact form blocks module makes your site-wide contact forms available as Drupal Blocks.

Using this module you can show your contact forms at any place where you can show a Drupal Block. For instance you may add a contact form to the right sidebar of your website which should be shown at every page. Or you want to add another contact form (aka category) to a certain node only. Add the contact form block to the content region and use the Block visibility settings to hide it from all pages but that special one.



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.