32,533 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.


This module intends to become a repository for advanced form elements, that can be used by other developers. Feel free to add your special elements to the issue queue!

Supported elements

Element Module version(s) Included in Drupal core?
HTML5 elements (url, email, search, tel, number, range) 6.x, 7.x 8.x+
HTML5 attributes (placeholder, pattern) 7.x 8.x+
Table Select 5.x, 6.x 7.x+
Image Button 5.x 6.x+
Table element 7.x 8.x


Views Accordion

Views Accordion screenshot

Views Accordion provides a display style plugin for the Views module.
It will take the results and display them as a JQuery accordion, using the first field as the header for the accordion rows.

For Drupal 7 the module integrates the jQuery UI Accordion plugin as a views style plugin. You can configure the options provided by the jQuery UI plugin.

For Drupal 6 the module used it's own jQuery code, so a different set of features is available for D6.


  • Works with field grouping and relationships.
  • Option to use the field grouping headers as the headers for the accordion items. (yay!)
  • Configure settings for jQuery UI Accordion through the views interface.

Using jQuery UI themes

The recommended approach is to use jqueryui_theme module.

Features only for Drupal 6 only:

  • Option to Auto cycle items (which pauses on mouse over)
  • Option to add Open All - Close All links.



A standardized solution for building API's so that external clients can communicate with Drupal. Out of the box it aims to support anything Drupal Core supports and provides a code level API for other modules to expose their features and functionality. It provide Drupal plugins that allow others to create their own authentication mechanisms, request formats, and response formats.

Currently all development is happening on github for the useful help of PR's. https://github.com/kylebrowning/services


Feeds Tamper

Feeds Tamper provides a small plugin architecture for Feeds to modify data before it gets saved. Several plugins are available by default and are described in the examples section below. Additional plugins can be added in separate modules or through the issue queue.




Chosen uses the Chosen jQuery plugin to make your <select> elements more user-friendly.


  1. Download the Chosen jQuery plugin and extract the file under sites/all/libraries.
  2. Download and enable the module.
  3. Configure at Administer > Configuration > User interface > Chosen (requires administer site configuration permission)

How to use Chosen as a widget in Fields UI:

Chosen can be applied to select list widgets. Go to the field settings and check "Apply Chosen to this field".

Installation via drush (<= 7.x-2.0-alpha3)

A Drush command is provided for easy installation of the Chosen plugin.

drush chosenplugin

The command will download the plugin and unpack it in "sites/all/libraries".
It is possible to add another path as an option to the command, but not
recommended unless you know what you are doing.

Dependencies (<= 7.x-2.0-alpha3)


Field Slideshow


Provides a Slideshow formatter for Image fields, using JQuery Cycle plugin.

Compared to Views slideshows, building the slideshow from multiple nodes, this module builds it from a single node, with a multi-valued Image/Media/Field Collection field.

Available options

  • Image style
  • Caption
  • Link
  • Transition effect
  • Transition speed
  • Timeout
  • Pager (numbers or thumbnails, with optional carousel)
  • Prev/Next controls



This module plays well with:

  • Colorbox (to enlarge images)
  • Media (to provide the images to the slideshow, and use additional fields for captions and/or links)
  • Field Collection (to provide the images to the slideshow, and use additional fields for captions and/or links)


Bundle Copy

Bundle Copy for Drupal 8

Bundle Copy is in Drupal 8 Core CMI!

Bundle Copy is a replacement for the Content copy module which lives in the CCK project for Drupal 6.


This module has export/import support for:

  • Node types
  • Taxonomy
  • User
  • Field API fields
  • Field groups

You can find the export/import links for the supported entities on following paths:


Omega Tools

Omega Tools

DISCLAIMER: Do not use Omega Tools with the 4.x version of Omega. Please create your 4.x subthemes using Drush! The Drush integration for Omega 4.x comes as part of the theme itself and does NOT require Omega Tools. Please uninstall Omega Tools if you are building a site with Omega 4.x.

The Omega Tools module is a set of helper functions and custom functionality intended for use with the Omega Theme. However, the functions this module provides could be used with any theme.


Search 404

Instead of showing a standard "404 Page not found", this module performs a search on the keywords in the URL, e.g. if a user goes to http://example.com/does/not/exist, this module will do a search for "does not exist" and shows the result of the search instead of the 404 page. This should help retain visitors coming in from old URLs linked from other sites or from search indices.

It also includes search engine keywords detections as well as regular expression based term filtering from the URL.



Twitter module in action


This module provides API integration with the Twitter microblogging service. Out of the box, it allows users to:


Views Field View

This module allows you to embed a view as a field in a view. A new field handler is made available, so this can also be used in area (header/footer/empty) handlers as well as rows.

This view handler can accept arguments from fields of the parent view using tokens and pass them into the child view for each row. Raw or rendered token values can be used, as well as static values.


Frequently Asked Questions

One example layout: questions listed at the top

The Frequently Asked Questions (faq) module allows users, with appropriate permissions, to create question and answer pairs which they want displayed on the 'faq' page. The 'faq' page is automatically generated from the FAQ nodes configured. Basic Views layouts are also provided and can be customised via the Views UI (rather than via the module settings page).


Field formatter settings

The Field API in Drupal core lacks the ability for other modules to easily alter field formatter settings forms and the formatter summaries. This module is a small API provider for other modules since it's too late to get the hooks into Drupal 7 core.




What is Delta?

Delta allows you, via the Context module to make duplicates of your theme settings for any context on your site. This gives you the ability for alternative layouts as a reaction in Context... </awesomesauce>


Features Extra

Features Extra provides faux exportables (via Features) of several site-building components.


Drupal 6: Supports exporting taxonomy vocabularies. To export a vocabulary, install FE taxonomy, go to vocabulary edit page, assign it a "machine name," then export it with Features as usual. As a bonus, this allows you to edit the "module" property of a vocabulary. Views support (by machine name) is also provided.

Drupal 7: Exporting vocabularies is supported natively by Features in Drupal 7 so it has been removed from this module. If you need to export taxonomy terms in addition to the vocabularies, you can do this with the UUID Features Integration module.


Only nodequeue definitions are supported. To export a queue, install FE Nodequeue, edit your nodequeue, assign it a "machine name," then export it with Features.


To export a block, install FE Block, edit your block, give it a "machine name," export it with Features. You can export block settings (region settings, visibility settings, ...) of any block, and the content of blocks created with the Block module from Drupal core.



The WYSIWYG Filter module provides an input filter that allows site administrators configure which HTML elements, attributes and style properties are allowed. It also may add rel="nofollow" to posted links based on filter options. It can do so with no additional parsing on user input. That is, it may apply nofollow rules while parsing HTML elements and attributes.


SEO Checklist

SEO Checklist tasks

Drupal SEO Checklist - What is it?

The Drupal SEO Checklist uses >Drupal SEO best practices to check your website for proper search engine optimization. It eliminates guesswork by creating a functional to-do list of modules and tasks that remain. Updated regularly with the latest techniques, it makes on-page Drupal search engine optimization hassle-free.

It breaks the tasks down into functional needs like Title Tags, Paths, Content and many more. Next to each task is a link to download the module from D.o and a link to the proper admin screen of your website so that you can configure the settings perfectly.

Drupal SEO Checklist also keeps track of what has already been done. It places a date and time stamp next to each item (when you click save). That provides a simple report that you can share with others showing what's been done.

You need Drupal SEO Checklist if

  • You know SEO basics pretty well
  • You work on a lot of different websites and need help keeping track of what you've done on each
  • You know how to properly configure modules for SEO needs
  • You are a list-maker! Or, you simply enjoy checking things off when they're done.

Drupal SEO Checklist does not:

  • Provide good SEO strategy


jQuery plugins

The jquery_plugin module provides miscellaneous jQuery plugins, which can be loaded from any module or theme by calling jquery_plugin_add($plugin) in Drupal 6 or drupal_add_library('jquery_plugin', $plugin) in Drupal 7. The Drupal 6 version supports jQ, a jQuery plugin registry.


Internationalization Views

Translate views using Internationalization. This is a work in progress and not all Views properties can be translated yet. Requires Internationalization 6.x-1.5 or newer.

This module has been moved from Internationalization package so we can have different branches compatible with each of the Views versions. Use the same branch of the Views version you are using (2.x. 3.x)


Drupal 6 i18nviews 2.x

The 2.x version has grown up over some time. It was already a long way to go and we've collected handler by handler to improve support for all possible cases. However we've also learned that views 2.x translation is sometimes very ugly and hackish. Performance is limited.

Drupal 6 i18nviews 3.x

Views 3 introduces a complete new translation layer. We have pushed views 3 improvements to have a clean next-generation translation system that allows cleaner solution with scaleable performance.
We're working on a stable 3.x solution: We're almost there.

Drupal 7

There's a basic D7 port available now. Quality review and finalizing still pending. Your feedback appreciated. Note that we rely on the latest Views 7.x-3.x-dev version, not the alpha or rc.
The work was primary done by Miro Dietiker of MD Systems and dereine of Erdfisch.

New maintainer for i18nviews



Test message


Lets you theme your messages the same way you theme the rest of your website.



Fences HTML5 illustration

Fences is a an easy-to-use tool to specify an HTML element for each field. This element choice will propagate everywhere the field is used, such as teasers, RSS feeds and Views. You don't have to keep re-configuring the same HTML element over and over again every time you display the field.

Best of all, Fences provides leaner markup than Drupal 7 core! And can get rid of the extraneous classes too!

This kind of tool is needed in order to create semantic HTML5 output from Drupal. Without such a tool, you have to create custom field templates in your theme for every field. :(

Similar projects include Semantic fields, Field Wrappers and a tool inside the Display Suite extras. But we think this approach is Morefasterbetter™.


Organic groups

Note: Development and issues are handled on GitHub, and code is synced back to Drupal.org


Enable users to create and manage their own 'groups'. Each group can have subscribers, and maintains a group home page where subscribers communicate amongst themselves.


Entity Translation

Beta 4 introduces some database schema changes, read carefully the release notes before upgrading.

Allows (fieldable) entities to be translated into different languages, by introducing entity/field translation for the new translatable fields capability in Drupal 7. Maintained by the Drupal core i18n team.

This project does not replace the Internationalization project, which focuses on enabling a full multilingual workflow for site admins/builders. Some features, e.g. content language negotiation or taxonomy translation, might overlap but most of them are unrelated.


  • Title module allows to replace entity labels with fields to make them translatable.


Entity Translation requires core version at least 7.15.



Adminimal Administration Menu

Adminimal Menu - Drupal Minimalist menu

Quick Overview:

Adminimal Administration Menu changes the style of the Administration menu module. It adds a nice and simple minimalist look and provides some tweaks to improve your Drupal administration experience. The menu hierarchy is now simpler and easier to understand (removing the unnecessary transparency and only highlighting the correct menus). It also adds quick shortcut links that can be edited from the core shortcut module. The shortcuts fit nicely and have a small icon that separates them from the normal admin menu links.


Image URL Formatter

This module add a url formatter for image field. Then you can output image url directly.

Most of the code, maybe more than 90%, is just copy from the drupal core. I think it is stable enough.

I have created a content type, and add an image field instance to it, later i use views to export the data of this content type.And i want to output the data,then i could import it into another drupal 7 site with feeds module. What i need is the url of the image field, but i could not export the image url directly. That is why i create this small module.


(1)After install this module,then you add an image field,then you can goto this bundle's manage display page,here at format column,you can choose "Image URL" instead of "Image".

(2)When you add an image field in your views,then you config the Formatter for this field, here you can choose "Image URL" instead of "Image".

Then you can output image's URL instead of Image itself.

Compare with the method shipping with views

(1) timofey give another method that do not using this module:
Based on Drupal 7, Views 3
Add a "File Usage: File" relationship (Advanced->Relationsips)
Add a "File: Path" field, NOT "Content: Image" (Block details->Fields)
You will have limitless options on image path output. Click to Display download path instead of URI.