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

Chaos tool suite (ctools)

This suite is primarily a set of APIs and tools to improve the developer experience. It also contains a module called the Page Manager whose job is to manage pages. In particular it manages panel pages, but as it grows it will be able to manage far more than just Panels.

For the moment, it includes the following tools:

  • Plugins -- tools to make it easy for modules to let other modules implement plugins from .inc files.
  • Exportables -- tools to make it easier for modules to have objects that live in database or live in code, such as 'default views'.
  • AJAX responder -- tools to make it easier for the server to handle AJAX requests and tell the client what to do with them.
  • Form tools -- tools to make it easier for forms to deal with AJAX.
  • Object caching -- tool to make it easier to edit an object across multiple page requests and cache the editing work.
  • Contexts -- the notion of wrapping objects in a unified wrapper and providing an API to create and accept these contexts as input.
  • Modal dialog -- tool to make it simple to put a form in a modal dialog.
  • Dependent -- a simple form widget to make form items appear and disappear based upon the selections in another item.
  • Content -- pluggable content types used as panes in Panels and other modules like Dashboard.



A model of how token works

Tokens are small bits of text that can be placed into larger documents via simple placeholders, like %site-name or [user]. The Token module provides a central API for modules to use these tokens, and expose their own token values.

Note that Token module doesn't provide any visible functions to the user on its own, it just provides token handling services for other modules.


Libraries API

The common denominator for all Drupal modules/profiles/themes that integrate with external libraries.

This module introduces a common repository for libraries in sites/all/libraries resp. sites/<domain>/libraries for contributed modules.

External libraries
Denotes libraries ("plugins") that are neither shipped nor packaged with a project on drupal.org. We do not want to host third-party libraries on drupal.org for a multitude of reasons, starting with licensing, proceeding to different release cycles, and not necessarily ending with fatal errors due to conflicts of having the same library installed in multiple versions.

Drupal 7 only has built-in support for non-external libraries via hook_library(). But it is only suitable for drupal.org projects that bundle their own library; i.e., the module author is the creator and vendor of the library. Libraries API should be used for externally developed and distributed libraries. A simple example would be a third-party jQuery plugin.


Entity API

This module extends the entity API of Drupal core in order to provide a unified way to deal with entities and their properties. Additionally, it provides an entity CRUD controller, which helps simplifying the creation of new entity types.


  • Drupal 7.2 or later; suggested Drupal >= 7.15


You can find documentation in the handbooks. Also check the README and the provided API docs in entity.api.php.


For site-builders

This is an API module, so it doesn't provide any end-user features. However, it provides some entity generic functionality to other modules that site-builders may leverage:

  • A Views display plugin and field to render or link to any entity (by view-mode)
  • A CTools content plugin to render any entity (by view-mode)


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.



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.


jQuery Update

Upgrades the version of jQuery in Drupal core to a newer version of jQuery.



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


CKEditor - WYSIWYG HTML editor

This module will allow Drupal to replace textarea fields with the CKEditor - a visual HTML editor, usually called a WYSIWYG editor. This HTML text editor brings many of the powerful WYSIWYG editing functions of known desktop editors like Word to the web. It's very fast and doesn't require any kind of installation on the client computer.

What is CKEditor?

CKEditor is the far superior successor of FCKeditor. The editor has been rebranded and completely rewritten. It is now much faster (the code has been optimized), loads faster (the number of files has been reduced, so the browser will perform less HTTP requests) and developers friendly.

Useful links


Google Analytics

Google Analytics for Drupal configuration page

Adds the Google Analytics web statistics tracking system to your website.

The module allows you to add the following statistics features to your site:

  • Single/multi/cross domain tracking
  • Selectively track/exclude certain users, roles and pages
  • Monitor what type of links are tracked (downloads, outgoing and mailto)
  • Monitor what files are downloaded from your pages
  • Custom dimensions and metrics support with tokens
  • Custom code snippets
  • Site Search support
  • AdSense support
  • Demographics and Interests support (formerly known as DoubleClick remarketing support)
  • Anonymize visitors IP address
  • DoNotTrack support (non-cached content only)
  • Drupal messages tracking
  • Modal dialog tracking (Colorbox)
  • Access denied (403) and Page not found (404) tracking
  • Cache the Google Analytics code on your local server for improved page loading times
  • Enhanced Link Attribution support
  • User ID tracking across devices
  • Changing URL fragments can be tracked as pageviews
  • Debug mode with analytics_debug.js



Allows the use of client-side editors to edit content. It simplifies the installation and integration of the editor of your choice. This module replaces all other editor integration modules. No other Drupal module is required.

The Wysiwyg module supports any kind of client-side editor including HTML editors (a.k.a. WYSIWYG), pseudo-editors (buttons to insert markup into a textarea), or even Flash-based applications. The editor library must be downloaded separately. Various editors are supported (see below).

The Wysiwyg module also provides an abstraction layer for other Drupal modules to integrate with any editor. This means that other Drupal modules can expose content-editing functionality, regardless of which editor you have installed.

Discussions happen in the Wysiwyg group, and in IRC #drupal-wysiwyg.




The Pathauto module automatically generates URL/path aliases for various kinds of content (nodes, taxonomy terms, users) without requiring the user to manually specify the path alias. This allows you to have URL aliases like /category/my-node-title instead of /node/123. The aliases are based upon a "pattern" system that uses tokens which the administrator can change.



Backup and Migrate

Back up and restore your Drupal MySQL database, code, and files or migrate a site between environments. Backup and Migrate supports gzip, bzip and zip compression as well as automatic scheduled backups.

With Backup and Migrate you can dump some or all of your database tables to a file download or save to a file on the server or offsite, and to restore from an uploaded or previously saved database dump. You can choose which tables and what data to backup and cache data is excluded by default.


Module Filter

The modules list page can become quite big when dealing with a fairly large site or even just a dev site meant for testing new and various modules being considered. What this module aims to accomplish is the ability to quickly find the module you are looking for without having to rely on the browsers search feature which more times than not shows you the module name in the 'Required by' or 'Depends on' sections of the various modules or even some other location on the page like a menu item.



The Rules module allows site administrators to define conditionally executed actions based on occurring events (known as reactive or ECA rules). It's a replacement with more features for the trigger module in core and the successor of the Drupal 5 workflow-ng module.

Example use cases

  • Build flexible content publishing workflows changes
  • Send customized mails to notify your users about important
  • Create custom redirections, system messages, breadcrumbs, ...
  • Build an eCommerce store using Drupal Commerce

And many more...


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.


Views Slideshow

Views Slideshow can be used to create a slideshow of any content (not just images) that can appear in a View. Powered by jQuery, it is heavily customizable: you may choose slideshow settings for each View you create.

Potential uses

  • News item slideshow (such as the title, image and teaser of the last 5 news articles submitted)
  • The Last X number of X submitted (images, videos, blog entries, forum posts, comments, testimonials, etc.).
  • Rotate any image, based on any filters you can apply in views.
  • Hottest new products for any ecommerce drupal site.
  • Rotate contact links, share links, etc.
  • Heck, you could rotate entire nodes, categories, image galleries, etc. I wouldn't suggest it, but you have that power.
  • Its also a great space saver. Places where you had multiple images or multiple items such as RSS feeds or category listings can now be presented in a slideshow.

The possibilities are really endless, as the more ways you can think of to categorize and add to views, the more you can rotate.

Views Slideshow Installation and Configuration



    Transliteration of upload filenames

    Provides one-way string transliteration (romanization) and cleans file names during upload by replacing unwanted characters.

    Generally spoken, it takes Unicode text and tries to represent it in US-ASCII characters (universally displayable, unaccented characters) by attempting to transliterate the pronunciation expressed by the text in some other writing system to Roman letters.



    Image CAPTCHA example

    A CAPTCHA is a challenge-response test most often placed within web forms to determine whether the user is human. The purpose of CAPTCHA is to block form submissions by spambots, which are automated scripts that post spam content everywhere they can. The CAPTCHA module provides this feature to virtually any user facing web form on a Drupal site.

    Co-maintainer wanted

    We do this our spare time, which is unfortunately almost nonexistent at the moment due to real life obligations. To give the CAPTCHA module the required level of maintenance, an extra co-maintainer would be welcome. If you're interested in helping with this very popular module, please contact me or open an issue in the CAPTCHA module issue tracker.


    Entity reference

    Provides a field type that can reference arbitrary entities:

    • A generic entity reference field
    • Four widgets:
      • Two implemented on top of the Options module (Select and Radios/Checkboxes),
      • Two autocomplete widgets (one with one text field per entry, one tag-style with comma-separated entries in the same text field)
    • Two formatters:
      • A "Label" formatter, with optional link that displays the label of the referenced entity (the node title, the user name, etc.)
      • A "Rendered entity" formatter, that renders the references entity using a configurable view mode
    • Integration with Views (for both forward and backward references)
    • Integration with Entity Metadata (and as a consequence with Search API and the like)
    • Integration with Devel generate
    • Integration with Feeds and Migrate (>= 2.3) for painless data import

    This modules depends on Entity API and CTools.

    Modules extending Entity reference functionality:



    An Overview of Panels

    The Panels module allows a site administrator to create customized layouts for multiple uses. At its core it is a drag and drop content manager that lets you visually design a layout and place content within that layout. Integration with other systems allows you to create nodes that use this, landing pages that use this, and even override system pages such as taxonomy and the node page so that you can customize the layout of your site with very fine grained permissions.

    Integration with CTools module

    Panels 3 utilizes the CTools' system of "context" so that the content you place on the page can be aware of what is being displayed. For example, in the existing Drupal setup, a block has no real knowledge of what the primary page is displaying. There are all kinds of tricks and tools you can use to get information to the blocks, but this generally means writing PHP code to scan the URL and pull the data out, which is not a very good thing when that data should already exist.

    Panels uses Contexts - What are they?



    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.


    Views Bulk Operations (VBO)

    Views Bulk Operations (VBO)

    This module augments Views by allowing bulk operations to be executed on the displayed rows. It does so by showing a checkbox in front of each node, and adding a select box containing operations that can be applied. Drupal Core or Rules actions can be used.

    7.x-3.x requires Entity API.



    • Views 7.x-3.x works with VBO 7.x-3.x
    • Views 6.x-2.x works with VBO 6.x-1.x
    • Views 6.x-3.x works with VBO 6.x-1.10 and above
    • VBO 6.x-3.x is obsolete



    Field Group


    Fieldgroup will, as the name implies, group fields together. All fieldable entities will have the possibility to add groups to wrap their fields together. Fieldgroup comes with default HTML wrappers like vertical tabs, horizontal tabs, accordions, fieldsets or div wrappers.



    IMCE Screenshot

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