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



Context allows you to manage contextual conditions and reactions for different portions of your site. You can think of each context as representing a "section" of your site. For each context, you can choose the conditions that trigger this context to be active and choose different aspects of Drupal that should react to this active context.

Think of conditions as a set of rules that are checked during page load to see what context is active. Any reactions that are associated with active contexts are then fired.

Other included modules


IMCE Wysiwyg bridge

Allows to use IMCE module with Wysiwyg module.

Currently supported editors

  • CKEditor
  • FCKeditor
  • TinyMCE

Patches to add support for other editors are welcome.



This is a collection of modules to extend Drupal core multilingual capabilities and be able to build real life multilingual sites. Some features:

  • Taxonomy translation (both, per language terms and translatable terms)
  • Multilingual variables
  • Multilingual blocks (control visibility per language and translate title and content)
  • Language selection (when you switch the site language you'll see only the content for that language)
  • Requires Variable module 2.x (Drupal 7)

Read a complete feature overview in the Internationalization handbook: Building multilingual sites .

Drupal 7 upgrade

Do read Upgrade from Drupal 6 to Drupal 7
Read more about new features on Internationalization for Drupal 7 and What's new in i18n.


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



Module description

The link module can be count to the top 50 modules in Drupal installations and provides a standard custom content field for links. With this module links can be added easily to any content types and profiles and include advanced validating and different ways of storing internal or external links and URLs. It also supports additional link text title, site wide tokens for titles and title attributes, target attributes, css class attribution, static repeating values, input conversion, and many more.

Requirements / Dependencies

  1. Drupal 6: Custom content module (CCK)
  2. Drupal 7: Fields API is provided already by core [no dependencies].
  3. Drupal 8: Link module is in core now. No module installation needed. Yay! Don't forget to activate it. It's deactivated by default.

INFO Since some misleading user reports we need to clarify here - Link module is NOT about to add links to any menus or the navigation nor primary/secondary menu. This can be done with default menu module (part of Drupal core). The Link module provides an additional custom field for storing and validating links to be added with any content type, which means another input block additional to your text-body, title, image and any other input you can make on new content creation.



Strongarm gives site builders a way to override the default variable values that Drupal core and contributed modules ship with. It is not an end user tool, but a developer and site builder tool which provides an API and a limited UI.


Email Field

This module provides a field type for email addresses.


  • validation of emails
  • turns addresses into mailto links
  • encryption of email addresses with
  • contact form (see Display settings)
  • provides Tokens (for D 7.x: use Entity tokens from the Entity API)
  • exposes fields to Views
  • can be used with Rules
  • Panels Integration

Drupal 8

The basic email field type is in core now: #1668332: Add an E-mail field type into core, making this contrib module obsolete. Specific formatters (like the contact form) can live in separate contrib modules.

D6 to D7 Upgrade

  1. Run Core upgrade path
  2. Install Content Migrate from CCK
  3. Go to "Structure" -> "Migrate Fields"
  4. Select Email fields you want to upgrade and submit the "Migrate selected fields" button



Work in progress for a Drupal 7 integration and collaboration between redirection-type modules:

Current features:

  • Common API for loading, saving, and deleting redirects.
  • Case-insensitive redirect matching with a hook to allow other modules to narrow-down the candidate redirects.
  • Redirect counter and last used timestamp, with automatic cleanup of inactive redirects.
  • Integration with Drupal's page cache to optimize redirects and performance.
  • Complete individual redirect access API.
  • Views API integration.


Menu attributes

This simple module allows you to specify some additional attributes for menu items such as id, name, class, style, and rel.

You should use this module when

  • You want to "nofollow" certain menu items to sculpt the flow of PageRank through your site
  • You want to give a menu item an ID so you can easily select it using jQuery
  • You want to add additional classes or styles to a menu item

The module currently allows you to set the following attributes for each 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...



The Lightbox2 module is a simple, unobtrusive script used to overlay images on the current page. It's a snap to setup and works on most modern browsers.



Metatag | Drupal 7 test site.png

The Metatag module allows you to automatically provide structured metadata, aka "meta tags", about a website. In the context of search engine optimization, when people refer to meta tags they are usually referring to the meta description tag and the meta keywords tag that may help improve the rankings and display of a site in search engine results. In addition, the module provides support for meta tags (Open Graph Protocol from Facebook, Twitter Cards from Twitter) that allow control of how content appears when shared on social networks.



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 declares its components (e.g. views, contexts, CCK fields, etc.) in its .info file so that it can be checked, updated, or reverted programmatically.



Colorbox example with the default style

Colorbox is a light-weight customizable lightbox plugin for jQuery. This module allows for integration of Colorbox into Drupal.

Images, iframed or inline content etc. can be displayed in a overlay above the current page.


The Colorbox module:

  • Works as a Formatter in entities and in views.
  • Excellent integration with core image field and image styles and the Insert module
  • Choose between a default style and a number of other styles that are included.
  • Style the Colorbox with a custom Colorbox style in your theme.
  • Drush command, drush colorbox-plugin, to download and install the Colorbox plugin in sites/all/libraries.

The Colorbox plugin:

  • Compatible with: jQuery 1.3.2+ in Firefox, Safari, Chrome, Opera, Internet Explorer 7+
  • Supports photos, grouping, slideshow, ajax, inline, and iframed content.
  • Lightweight: 10KB of JavaScript (less than 5KBs gzipped).
  • Appearance is controlled through CSS so it can be restyled.
  • Can be extended with callbacks & event-hooks without altering the source files.
  • Completely unobtrusive, options are set in the JS and require no changes to existing HTML.


Field collection

Provides a field-collection field, to which any number of fields can be attached.

A field collection is internally represented as an entity, which is embedded in the host entity. Thus, if desired field collections may be viewed and edited separately too.



This project provides D7 versions of the 'node_reference' and 'user_reference' field types, that were part of the CCK package in D6, at functional parity with the D6 counterparts. See http://drupal.org/node/533222 for details.

Note for users upgrading from References 7.x-2.0-beta3

There were a couple changes in the way 'References' views are handled ("referenceable nodes/users defined by a view"), which might require double-checking those existing on your site:

  • The 'label' (node title or user name) is no longer automatically added if not included in the view. If some of your 'References' views currently do not include it, you might want to add it explicitly, else it will no longer appear in the widgets.
  • The HTML generated by the view is no longer stripped out before being handed to "checkboxes / radios" widgets, thus allowing advanced formatting. You might want to check for Reference views having fields configured to display "as links", since the (probably unwanted) <a> tags generated by Views are not removed anymore.

Note for users upgrading from CCK D6


    Block Class

    CSS classes field added by the Block Class module on Block configuration form.

    Block Class allows users to add classes to any block through the block's configuration interface. By adding a very short snippet of PHP to a theme's block.tpl.php file, classes can be added to the parent <div class="block ..."> element of a block. Hooray for more powerful block theming!


    Page Title

    Page Title

    The word "title" is a bit overloaded. Every piece of content in Drupal has a title, and so does every page. The page title is the one found in the HTML head inside the <title> tag. It is also used on SERPs (Search Engine Result Pages) and can greatly enhance your websites SEO (Search Engine Optimization).

    This module gives you granular control over the page title. You can specify patterns for how the title should be structured and, on content creation pages, specify the page title separately to the content's title.


    Job Scheduler

    Simple API for scheduling tasks once at a predetermined time or periodically at a fixed interval.

    If you plan to use this API in your module in 6.x, make sure to review upcoming API changes.



    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?


    Address Field

    Address field widget form

    Address Field defines a new field type to store international postal addresses, implementing a subset of the top-level address elements defined in the xNAL standard (see the glossary below).

    The field configuration lets you determine which elements of an address should be present in the field widget form and which ones should be rendered for display.

    This module was initially developed to support address storage in Drupal Commerce customer profiles, but it is now used by a wider variety of modules dealing with physical addresses and mapping.


    • Standardized storage of international postal addresses based on the xNAL standard (the same format used by Google Maps for geocoding)
    • Per-country edit form and formatting of addresses
    • Proper formatting of address forms and output on a country by country basis as they are added to the module; see the address formats issue queue for pending country support
    • Feeds integration for address importing



    Screenshot of the media browser

    The Media module provides an extensible framework for managing files and multimedia assets, regardless of whether they are hosted on your own site or a 3rd party site - it is commonly referred to as a 'file browser to the internet'.

    Media is a drop-in replacement for the Drupal core upload field with a unified User Interface where editors and administrators can upload, manage, and reuse files and multimedia assets. Any files uploaded before Media was enabled will automatically take advantage of the many of the features it comes with.

    Media's aim is to solve Drupal's long standing media handling problem.


    Site map

    This module provides a site map that gives visitors an overview of your site. It can also display the RSS feeds for all blogs and categories.


    Menu block

    The "Add menu block" link and 3 example menu blocks

    So… have you ever used the Main and Secondary menu links feature on your theme and wondered “how the hell do I display any menu items deeper than that?”

    Well, that’s what this module does. It provides configurable blocks of menu trees starting with any level of any menu. And more!



    A suite of modules containing fun for module developers and themers ...