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

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.


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


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.


Mail System

Admin UI

Mail System

Provides an Administrative UI and Developers API for safely updating the mail_system configuration variable.

The 6.x branch also provides a Drupal-6 backport of the Drupal-7 mail system.

(New) Requirement


Taxonomy menu

Transforms your taxonomy vocabularies into menus with ease!



This API is meant to be used in place of the API provided by image.inc. You probably do not need to install this module unless another module are you using requires it. It provides no new features to your Drupal site. It only provides an API other modules can leverage. Currently GD2 and ImageMagick support are distributed with ImageAPI.

This module is specifically for Drupal 6 and older. This module has been integrated into Drupal 7, with the exception of ImageMagick integration, which has been moved to the ImageMagick project.


Media: YouTube

Powered by YouTube

Media: YouTube adds YouTube as a supported media provider.

Most popular web services, including YouTube, support oEmbed. It is generally recommended to use Media: oEmbed instead of individual provider modules.


Media: YouTube has one dependency.

Contributed modules


Nice Menus


Nice Menus enables drop-down/right/left expandable menus. It uses only CSS for most browsers, with minimal Javascript for IE6. (Version 2 uses the Superfish jQuery plugin for all browsers, with an option to disable JS, and falls back to CSS-only for browsers that can handle it.)

Three styles/types of menus are currently possible: horizontal, menus drop down; vertical, menus fly to the left; vertical, menus fly to the right. There is a handbook page that provides a list of sites that use Nice menus.

Nice Menus creates blocks that may be associated with any existing site menu which can be placed wherever normal blocks can be placed in a theme. For themers, it is also possible to theme a menu as a Nice Menu directly by using the provided theme functions so a block is not necessary. A specific theme function for the Primary Links menu is available. The theme functions also allow a developer to pass in a custom menu tree of their making (i.e. not using a Drupal menu.) There is more information on how to use theme functions in the documentation.


Flex Slider

Issue with Fields and alpha 2

Please upgrade to FlexSlider alpha 3 to fix FlexSlider Fields issues.
#2069435: FlexSlider alpha2 breaks FlexSlider Fields integration


Flex Slider module integrates the Flex Slider library with Drupal and several contributed modules which allows you to build responsive, resizable slideshows. Meaning the slideshows automatically adapt to the size of the browser window or device.

Some features of FlexSlider slideshows include:

  • Touch enabled nagivation
  • Keyboard navigation
  • Configurable slide animations
  • Multiple sliders per page
  • Lots more...

Current Options

Allows you to use Flex Slider in a few different ways

  • As a library to be used with any other theme or module by calling drupal_add_library('flexslider', 'flexslider') or preferably with libraries_load('flexslider') or with flexslider_add()
  • Integrates with Fields (flexslider_fields)
  • Integrates with Views using a style plugin (flexslider_views)

FlexSlider v2

FlexSlider Video Tutorials

We'll be posting a series of videos on using FlexSlider to our YouTube playlist. If you have a suggestion for a video, post it to the #2068973: Video Tutorial Series Suggestions comment thread.


File Entity (fieldable files)

File entity provides interfaces for managing files. It also extends the core file entity, allowing files to be fieldable, grouped into types, viewed (using display modes) and formatted using field formatters. File entity integrates with a number of modules, exposing files to Views, Entity API, Token and more.

File Entity is required by the 7.x-2.x branch of the Media module.

The File entity project is not compatible with Media 7.x-1.x. You must use the File entity module bundled with Media 7.x-1.x.



Import or aggregate data as nodes, users, taxonomy terms or simple database records.

  • One-off imports and periodic aggregation of content
  • Import or aggregate RSS/Atom feeds
  • Import or aggregate CSV files
  • Import or aggregate OPML files
  • PubSubHubbub support
  • Create nodes, users, taxonomy terms or simple database records from import
  • Extensible to import any other kind of content
  • Granular mapping of input elements to Drupal content elements
  • Exportable configurations
  • Batched import for large files


For requirements and installation instructions, refer to the included README.txt file.

Upgrade from FeedAPI

Aron Novak and yhahn have provided a module for upgrading FeedAPI to Feeds.



Administration Views

Replaces administrative overview/listing pages with actual views for superior usability.


  • Filter all administrative views via AJAX.
  • Perform any kind of bulk/mass operations on items in administrative views.
  • Filter content by title, node type, author, published status, and/or vocabulary.
  • Filter comments by title, author, node title, or published status.
  • Filter users by name, ban/blocked status, or user roles.



FileField with Progress Bar

FileField provides a universal file upload field for CCK. It is a robust alternative to core's Upload module and an absolute must for users uploading a large number of files. Great for managing video and audio files for podcasts on your own site.


  • Configurable upload paths allow you to save files into per-field or per-user directories
  • Per-field and per-node file size limits
  • Extensive API for extending field widgets and managing files
  • Full revision/translation file management
  • Views support
  • Ajax Uploads (and progress bar support with the PECL uploadprogress extension)
  • Pretty Icons
  • All the goodness of CCK (multiple output formats, shared fields, multiple values, and much more)


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



This module adds a tab for sufficiently permissioned users. The tab shows all revisions like standard Drupal but it also allows pretty viewing of all added/changed/deleted words between revisions.


Special menu items

A menu with some "no link" element

Special menu items is a Drupal module that provides placeholder and separator menu items.

A placeholder is a menu item which is not a link. It is useful with dynamic drop down menus where we want to have a parent menu item which is not linking to a page but just acting as a parent grouping some menu items below it.

A separator menu item is something like "-------" which is not linking anywhere but merely a mean to structure menus and "separate" menu items visually.

Menu item container provide similar functionality.

Shane Thomas made a video about special menu item.


  • User can create a new menu item and place either "<nolink>" or "<separator>" to the Path field, without quotes.
  • "<nolink>" item will be rendered similar to a normal menu link item but there will be no link just the title.
  • You can change HTML tag used for menu item
  • "<separator>" item will be rendered to an item which is no link and by default title will be "-------".
  • Breadcrumb of "<nolink>" will be rendered same as "<nolink>" menu item.
  • CSS class "nolink" is added to "nolink" menu item.
  • CSS class "separator" is added to "separator" menu item.


ImageCache Actions

Imagecache Effects

This module provides a suite of additional image effects that can be added to image styles. The image styles admin submodule also adds the 'duplicate', 'export' and 'import' actions to image styles administration.



ImageField provides an image upload field for CCK. ImageField is a CCK-based alternative to the legacy Image project. It boasts features such as multiple images per node, resolution restrictions, default images, and extensive Views support.

ImageField does not provide a built-in thumbnail solution, but complements the incredibly powerful thumbnail generation module ImageCache.

ImageField related projects


SMTP Authentication Support

Drupal 7


On a weekly basis we have support requests all on the same issue, so please SEARCH before creating an issue, and before that check which version of PHPMailer you're using. Versions higher than 2.2.1 are NOT SUPPORTED.

This module allows Drupal to bypass the PHP mail() function and send email directly to an SMTP server. The module supports SMTP authentication and can even connect to servers using SSL if supported by PHP.

Maintenance sponsored by Chuva Inc.


Quick Tabs

Quick Tabs

The Quick Tabs module allows you to create blocks of tabbed content, specifically views, blocks, nodes* and other quicktabs*. You can create a block on your site containing multiple tabs with corresponding content. Clicking on the tabs makes the corresponding content display instantly, using jQuery. With the 6.x-2.x branch, this can be done in either ajax or non-ajax mode:



Image Cache

ImageCache allows you to setup presets for image processing. If an ImageCache derivative doesn't exist the web server's rewrite rules will pass the request to Drupal which in turn hands it off to ImageCache to dynamically generate the file.


Mime Mail

This is a Mime Mail component module (for use by other modules).

  • It permits users to receive HTML email and can be used by other modules. The mail functionality accepts an HTML message body, mime-endcodes it and sends it.
  • If the HTML has embedded graphics, these graphics are MIME-encoded and included as a message attachment.
  • Adopts your site's style by automatically including your theme's stylesheet files in a themeable HTML message format
  • If the recipient's preference is available and they prefer plaintext, the HTML will be converted to plain text and sent as-is. Otherwise, the email will be sent in themeable HTML with a plaintext alternative.
  • Allows you to theme messages with a specific mailkey.
  • Converts CSS styles into inline style attributes.
  • Provides simple system actions and Rules actions to send HTML email with embedded images and attachments.

Note that there are some serious limitations you need to take into consideration when creating email layouts, see the Email Standard Project for more information.

This module is required by the Send module.


The 7.x branch requires the Mail System module and at least Drupal 7.24.




Insert is a utility that makes inserting images and links to files into text areas or WYSIWYGs much easier. It adds a simple JavaScript-based button to FileField and ImageField widgets. When used with ImageField and ImageCache, images may be inserted into text areas with a specific ImageCache preset.

This module was previously known as FileField Insert.


  • Support for all major WYSIWYG editors, including tinyMCE, CKeditor, the WYSIWYG project (the recommended approach), and plain text areas.
  • Insert images using ImageCache presets
  • Maximum width setting for inserted images (for combined use with the Image Resize Filter module)
  • Per-field insert configuration

See this module in action in the excellent FileField Insert / Image Resize Filter screencast by MustardSeed Media.


  • CCK (2.5 or higher! D6 only.)

Recommended projects