17,778 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 provides web content providers with the means to earn revenue from visitors by displaying ads from Google AdSense™ advertising service on their sites.

Why should you use it:

  • AdSense for Search and Drupal are incompatible as both use the 'q' query for different purposes. Using this module, you can display the search results in your site.
  • Protects you from displaying more ads in a page than the maximum allowed by Google (check current disabled)
  • The module provides easy-to-use ad blocks.
  • You can easily disable the ads for certain roles.
  • Provides simple controls for troubleshooting the ads before going live with the site.
  • If Google changes some minor details in the script, your code can be updated site-wide just by upgrading the module.
  • If you want to do ad revenue sharing, there's really no other option

Why shouldn't you use it:

  • Strictly speaking, this module is not in compliance with the AdSense TOS, since you're not exactly copy-pasting the script code in your site. No one has ever reported being banned because of using this module, and Google knows of its existence, and seem not to mind.


IMCE Rename


Adds file and folder renaming functionality to the user interface of the IMCE file browser



Jasig CAS Logo

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

Using the excellent phpCAS library, we have created a small Drupal module to allow single sign-on with CAS.



The purpose of Spamicide is to prevent spam submission to any form on your Drupal web site. Spamicide adds an input field to each form then hides it with css, when spam bots fill in the field the form is discarded. The field, and matching .css file, are named in such a way as to not let on that it is a spam defeating device, and can be set by admins to almost anything they like(machine readable please). If logging is set, the log will show if and when a particular form has been compromised, and the admin can change the form's field name (and corresponding .css file) to something else.


Email Registration

Allow users to register and login using only an email address. Users can then log-in using their email address and password for authentication.


Rabbit Hole

What is this?

Rabbit Hole is a module that adds the ability to control what should happen when an entity is being viewed at its own page.

Perhaps you have a content type that never should be displayed on its own page, like an image content type that's displayed in a carousel. Rabbit Hole can prevent this node from being accessible on its own page, through node/xxx.


This works by providing multiple options to control what should happen when the entity is being viewed at its own page. You have the ability to

  • Deliver an access denied page.
  • Deliver a page not found page.
  • Issue a page redirect to any path or external url.
  • Or simply display the entity (regular behavior).

This is configurable per bundle and per entity. There is also a permission that lets certain roles override Rabbit Hole completely.

It's possible to evaluate PHP for the redirect path. This makes it possible to execute different redirects based on whatever logics you need. Perhaps you want a user to be able to view nodes that he has created, but no one else's. The PHP evaluation is limited to users with the appropriate permission, so there's no unnecessary security breach.

Supported entities



Audiofield admin form

Audio Field module adds new CCK field that allows you to upload audio files and automatically displays them in a selected audio player. Currently it supports 6 players and it provides API for easy addition of new players.

Developed by

Tamer Zoubi


See the Documentation.


Select default player

Go to admin/settings/audiofield and you will see list of available players. Player you select will be used as default player for all audio files.

Add audio upload to the content type

First you must add audiofield to the preferred content type. Adding a field is done as adding any other CCK field, select field type of "File" and widget of "Audio Upload".
In Drupal 7 you can add audiofield to any entity type (node, comment, user, taxonomy, etc...)

How to upload and play audio file?

After adding audiofield to content type you can upload audio files when creating new nodes. Uploaded audio files will be rendered in default player you selected in admin form.



Geolocation Field

Google Maps widget

Geolocation Field defines a new field type to store geographical locations as pairs of latitude and longitude (lan,lng). The Geolocation Field can be used with all fieldable entities like nodes, users, comments, taxonomy terms, etc.


Content Analysis

Screenshot of Content Analysis

The Content Analysis module is an API designed to help modules that need to analyze content. The module enables a suite of content analyzers to provide multiple views into the content on your Drupal site or on any website. The current list of available analyzers are:

  • Quick SEO: Provides a quick and easy analysis of content to help your site rank better in the search engines for a specific keyword.
  • Scribe SEO: Provides advanced analysis of content to help your site rank better in the search engines. Also provides keyword extraction and guidance.
  • Readability: Grades content based on five popular automated readability tests for content
  • W3C Analyzer: Test content for W3C validation
  • Keyword Research: Provides an array of tools for analyzing and discovering keyword phrases. Also helps with tagging nodes with keywords.



The autoload module is a utility module. It allows other modules to leverage PHP 5's class autoloading capabilities in a unified fashion. It does, naturally, require PHP 5.1.2 or later.

You do not need this module unless you are developing a module that makes use of classes or you are installing a module that depends on this one.

The 1.x branch uses a manual info-hook. The 2.x branch includes a backport of the Drupal 7 self-learning registry as well as the info hook for backward compatibility.


Image Link Formatter

Configuration page for the formatter: Image Link Formatter, select custom link.

This module is the result of the discussions around a requested feature to allow an image field to be displayed with a link to a custom URL:

It seems many attempts and implementations have already been proposed:

  1. Link Image Field
  2. Link Image Formatter
  3. Other solutions: Custom Formatters:
    #1397700: [SOLVED} Error in src in Image formatter for link field or through theming options.
  4. Indirect solution through the setup of Linked Field with Tokens [Requires: Field Formatter Settings].

This module has no pretention of implementing any field, it's just a formatter (display) to combine the Image field (Drupal 7 Core) and Link field (contrib).


HTML Purifier

#D8CX: We pledge that HTML Purifier will have a full Drupal 8 release on the day that Drupal 8 is released.

HTML Purifier is a standards-compliant HTML filter library. HTML Purifier will not only remove all malicious code (better known as XSS) with a thoroughly audited, secure yet permissive whitelist, it will also make sure your documents are standards compliant, something only achievable with a comprehensive knowledge of W3C's specifications.

HTML Purifier is very tasty when combined with WYSIWYG editors and is more comprehensive, standards-compliant, permissive and extensive than Drupal's built-in filtered HTML option, which uses a derivative of kses. You can read more about it at this comparison page. Want custom fonts, tables, inline styling, images, and more? Want just a restricted tag set but bullet-proof standards-compliant output? HTML Purifier is for you!

The HTML Purifier module is licensed under GPL v2 or later, however, the HTML Purifier library itself is licensed under LGPL v2.1 or later.

Want to give it a test drive? Try it out on simplytest.me.


Auto Assign Role

The Auto Assign Role serves three primary purposes. The first is to provide an automatic assignment of roles when a new account is created. The second is to allow the end user the option of choosing their own role or roles when they create their account. The third is to provide paths that will trigger a specific role when an account is created. The administrator has full control over these functions and can have them working together or independently of each other. Auto Assign Role is integrated with the Content Profile module so that you can have content types serving as registration pages. You can even replace the default user/register page with a customized version of your own design.

Drupal 7

We are now very close to getting a release candidate release for this now with only one user story currently left to resolve (#971434: User creates account from the web and is assigned roles by path).

So as to not hold up this initial release, all other features will be looked at within as part of the 2.x release.


Panels Everywhere

Panels Everywhere is an advanced method to completely do away with Drupal's restrictive blocks system and instead use the much more freeing Panels Layout system to control how your pages look. Panels Everywhere modifies the page as it is being rendered to 'wrap' the content in a display and can even take over your page theme to do away with the need for a page.tpl.php.

Doing this requires that you set up a few things properly, because Drupal is not really designed for this kind of behavior. Be sure to read the README before trying to use this module.

This module requires both the Panels module, and the Page Manager module from the Chaos Tools Suite.

Themes with Panels Everywhere support

The following is a non-exhaustive list of themes that are known to have support for Panels Everywhere:

  • Tinsel - Garland converted to use for Panels Everywhere
  • Panany - Very nice simple theme by jwolf, has extra Panels Styles also.
  • AT Panels Everywhere - Jeff Burnz version of Adaptive Theme with Panels Everywhere support.



Showing how the video can scale in a responsive site.

It uses the FitVids.js library for fluid width video embeds (e.g. flash video in <iframe>s). You don't need it for pure HTML5 videos.

It supports YouTube, Vimeo, Blip.tv and Kickstarter by default, and can use it with other video providers like Dailymotion or Viddler.

It's useful if you are using a responsive theme (such as AdaptiveTheme, Omega or Zen), and want the videos to scale.


jQuery selectors

You can usually use the defaults. It assumes that you'll want to apply it to all videos in a div with class="region". If your theme uses a different class or id, or you only want to target certain videos, you can specify that class/id in the video containers field. You can use any valid jQuery selector, e.g.,


You can specify as many containers as you want.

Video providers

Not all players will work with FitVids, but you can try it out by adding the domain (in the Custom iframe URLs field).



Read More Control

A module to control when the teaser Read More link appears in Drupal 7.

There is no mechanism in core to decide if the read more link should appear. This means that this link will always show no matter if there is additional content to display. This module tries to overcome this issue by allowing administrators to determine how to handle this link in relation to both the content type and individual fields.

The module allows you to add Read more links to other supported view modes (RSS feed, Search results, etc) or even other supported entity types. Particularly useful if you use panels or views and either programmatically add additional view modes or use other contrib modules to provide these.


Commerce Stock

Commerce Stock

Commerce Stock module, for Drupal Commerce.
This module provides stock management for Drupal Commerce stores.


Adaptive Image

The Adaptive image module provides device-appropriate versions of images from your fields.
You can activate adaptive images by adding an adaptive effect to any of your image styles.

The used technique is derived from http://adaptive-images.com/ by Matt Wilcox.
The hard work is done by Drupal core no need for any additional rewrites.
If image styles work on your website, this module will too.

Hint: Javascript is needed on the clientside to determine the target resolution


Filter permissions

Filter permissions default display for the user permissions page

This module provides filters at the top of the Permissions page for easier management when your site has a large amount of roles and/or permissions. The module was originally created because the excessive amount of checkboxes combined with some jquery activity was causing "Unresponsive Script" js errors on every load and save of the permissions page.




This module provides integration with MailChimp, a popular email delivery service. The module makes it easy for website users or visitors to control which of your email lists they want to be on (or off), lets you generate and send MailChimp email campaigns from your site, and lets you and your users view a history of emails they have been sent from MailChimp. More generally, it aspires to makes your email delivery world efficient and to make your user's email receipt and control simple and precise. Thanks to MailChimp's ongoing sponsorship, this module is actively maintained and regularly adding features.


Translation Overview

Translation Overview

The Translation Overview page provides a table listing the site's nodes and showing what's been translated into each language. It also lets you assign priorities for translating nodes into the various languages.

For translations of taxonomy terms and menu items check out the Translation table module.


Forum Access

This module changes your forum administration page to allow you to set forums private. You can control what user roles can view, edit, delete, and post to each forum. You can also give each forum a list of users who have administrative access on that forum (AKA moderators).

This module requires the ACL module in order to function. The D7 version also requires the Chain Menu Access API 2.x module.

Forum Access is compatible with the core Forum module, Advanced Forum, and Content Access, Domain Access as well as all other well-behaved node access modules.


Views Bonus Pack

This group of modules is sort of a recipe module that makes things easier by showing how to integrate some other modules as well as providing miscellaneous features that aren't distributed by Views itself. Sometimes these modules are only base recipes that will need to be themed and spiced up to fit your needs so be creative!


Webform Phone Number

This module adds a "Phone Number" field type for webform forms. It uses the same validation/formatting as the field type Phone Number provided by the phone module.



Spambot protects the user registration form from spammers and spambots by verifying registration attempts against the Stop Forum Spam (www.stopforumspam.com) online database. It also adds some useful features to help deal with spam accounts.

This module works well for sites which require user registration before posting is allowed (which is most forums).