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

Inline Entity Form

Provides a widget for inline management (creation, modification, removal) of referenced entities.
The primary use case is the parent -> children one (product display -> products, order -> line items, etc.), where the child entities are never managed outside the parent form.
Existing entities can also be referenced.

Supports commerce_product_reference, commerce_line_item_reference and entityreference fields.
Requires integration code to be provided for each entity type that can be referenced.
Supports the commerce_product (including Commerce AutoSKU integration) and commerce_line_item, node, taxonomy_term entity types out of the box.
Integration for other entity types has not yet been written, patches welcome.

See the README for information about getting started and integrating other entity types.

This module was covered on Lullabot Module Monday and Commerce Module Tuesday.

Requires the Entity API module.
Requires Drupal 7.15 or newer.



Module maintainer @podarok

The Location module allows real-world geographic locations to be associated with Drupal nodes, including people, places, and other content. The Location module allows admins to collect addresses, geocode them (translate addresses to lattitude/longitude), and associate locations with Drupal nodes and users. Location data is automatically used to generate GeoRSS within your existing RSS feeds.

We need help from developers with #1931088: [META] Fixing tests

#1940818: [META] Location 7.x-3.6 release roadmap
#2127933: [META][SPRINT][Location] Documentation sprint

At present, it is the only module that provides the views integration necessary for implementing location-based searches and is designed for the purpose of finding points on a map within a vicinity of a user-supplied location.  If you are interested in the presentation and manipulation of geographic data beyond points (e.g., lines, polygons, etc) I would recommend using the geofield and open layers modules.

Important location search change: For those using the location search sub-module, as of location 6.x-3.2 and 7.x-3.0-alpha1 users must have the "access content" permission and any relevant node access rights to see node based location search results and the "view user profiles" and "view all user locations" permissions to see user based location search results.

If updating from earlier versions and using location search, make sure to check these permissions.


Better Formats

Global format defaults by role form.

Better formats is a module to add more flexibility to Drupal's core input format system.



  • Set the default format per role.
  • Set the default format per content type.
  • Control allowed formats per content type.
  • Hide format tips.
  • Hide more format tips link.
  • Hide format selection for nodes, comments, and blocks seperately, forcing the default to be used.
  • Expand the selection fieldset by default.
  • Disable the expand/collapse of the selection fieldset.
  • Set selection fieldset title.
  • Set more format tips link text.
  • Set default formats for nodes and comments separately.
  • Sensible defaults and fail overs for ease of use.
  • Works with CCK textareas.
  • Works with Panels comment form.
  • i18n module support for user defined strings.

7.x (needs more testing for a stable release)

  • Set allowed text formats per field.
  • Set default order of text formats per field.
  • Hide format tips per role.
  • Hide more format tips link per role.
  • Hide format selection per role per entity.
  • Currently only works on Field API fields on fieldable entities implementing core style text processing. The good thing is that is most things in core and contrib.


Site verification

This module assists with the site/domain ownership authentication/verification for search engines. There are two types of verification methods supported: adding meta tags, or uploading a specific file. If you are provided with a file to upload, this module makes it easy because you can upload the file in the module's interface and the proper filename and file contents will be saved and used in the authentication process.

This module is useful for the following search engine verifications:



Mollom logo

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

Mollom is an intelligent content moderation web service. By monitoring content activity on all sites in the Mollom network, Mollom is in a unique position to determine if a post is potentially spam; not only based on the posted content, but also on the past activity and reputation of the poster. In short, Mollom handles incoming posts intelligently, in much the same way a human moderator decides what posts are acceptable. Therefore, Mollom enables you to allow anonymous users to post comments and other content on your site.


Multiupload Imagefield Widget

As an extension to Multiupload Filefield Widget this module presents the same widget to Image fields.

Supports Insert module.


The core Image module.
Multiupload Filefield Widget


1. Enable the module.
2. Add an 'image' field to a content type and select the widget 'Multiple'.
3. Done


jQuery UI

A wrapper module around the jQuery UI effects library that lets module developers add swooshy, swishy effects to their code.

See http://jqueryui.com/demos for some examples of what jQuery UI can do.
See http://jqueryui.com/docs for documentation on how to use it.
See http://jqueryui.com/support if you need help getting jQuery UI to work, once it's being added to your pages.



A module which runs the Drupal cron operation using normal browser/page requests instead of having to set up a crontab to request the cron.php script. The module inserts a small amount of JavaScript on each page of your site that when a certain amount of time has passed since the last cron run, calls an AJAX request to run the cron tasks. Your users should not notice any kind of delay or disruption when viewing your site. However, this approach requires that your site gets regular traffic/visitors in order to trigger the cron request.


Conditional Fields

Conditional Fields node form example

Define dependencies between fields based on their states and values.

Conditional Fields for Drupal 7 is an user interface to the new States API, plus the ability to modify fields appearance and behavior on certain conditions when viewing content.


Conditional Fields allows you to manage sets of dependencies between fields. When a field is “dependent”, it will only be available for editing and displayed if the state of the “dependee” field matches the right condition.
When editing a node (or any other entity type that supports fields, like users and categories), the dependent fields are dynamically modified with the States API.
You can, for example, define a custom “Article teaser" field that is shown only if a "Has teaser" checkbox is checked.



Flag Demo Screenshot

Flag is a flexible flagging system that is completely customizable by the administrator. Using this module, the site administrator can provide any number of flags for nodes, comments, users, and any other type of entity. Some possibilities include bookmarks, marking important, friends, or flag as offensive. With extensive views integration, you can create custom lists of popular content or keep tabs on important content.

Flags may be per-user, meaning that each user can mark an item individually, or global, meaning that the item is either marked or it is not marked, and any user who changes that changes it for everyone.

In this way, additional flags (similar to published and sticky) can be put on nodes, or other items, and dealt with by the system however the administration likes.



Pathologic is an input filter which can correct paths in links and images in your Drupal content in situations which would otherwise cause them to “break;” for example, if the URL of the site changes, or the content was moved to a different server. Pathologic can also solve the problem of missing images and broken links in your site’s RSS feeds. See more example use cases on the documentation page.



Ordering a subqueue

The Nodequeue module allows users to collect nodes in an arbitrarily ordered list. The order in the list can be used for a any purpose, such as:

  • A block listing teasers for the five top news stories on a site
  • A user’s favorite music albums
  • A group of favorite from which one is randomly displayed

Nodequeue provides a simple drag-and-drop interface to manually order any queue. Additionally, it allows nodes to be added and removed from queues without needing edit permissions to the node. Nodes can be added to queues either from a queue management tab or by links on the node teaser.

Smartqueue API

Nodequeue provides a robust API that allows other modules to define smartqueues, which are associated with external data. For example, the included taxonomy smartqueue creates subqueues for a given queue for every term in the chosen vocabulary. Nodes are then only eligible for subqueues whose term matches the nodes terms. This makes it very easy to have queues for each category without cluttering the management page.

Modules that Extend Nodequeue:


CKEditor Link - A plugin to easily create links to Drupal internal paths

CKEditor Link - Use autocomplete to easily create a link to a Drupal node!

This module is an extension to the CKEditor module.

It also supports CKEditor installed through the Wysiwyg module.

This module allows to easily create links to Drupal internal paths through CKEditor's Link button and dialog.

It is composed of 2 parts:

  1. A client-side CKEditor plugin that adds features to CKEditor's default Link plugin.
  2. A server-side input format filter that converts the raw paths added through the plugin into aliased and, if applicable, language prefixed URLs.


GMap Module

Module maintainer @podarok

We are in CodeFreeze stage for 7.x-2.x as preparing and refactoring for #2139223: Drupal 8 gmap version
Only bug and security fixes can be commited
All feature requests should be filled against latest 7.x-2.x branch

The GMap module provides an interface to the Google Maps API within Drupal. It integrates with the Location module to provide users a clickable map for entering latitude and longitude, as well as to display maps of Drupal nodes and users. GMap can be used to create interactive maps with various map markers and content in map bubbles, taking advantage of Drupal's other content management features. The module also provides a Views display plugin which allows users to display the results of a view on a Google map.

Drupal 8 battleplan #2139223: Drupal 8 gmap version
Supported by Druler


Custom Breadcrumbs

Custom Breadcrumbs 2 (6.x-2.x and 7.x-2.x)

Many new features have been added including support for Views, Panels, Taxonomy vocabularies and terms, paths, and a simple API that allows contributed modules to enable custom breadcrumbs for module pages and theme templates. These are implemented using optional, independent submodules that depend on the main Custom Breadcrumbs module.

In addition to breadcrumb visibility, this version provides an option permitting PHP code snippets to be used in forming the breadcrumb titles and paths. Multiple languages are also supported.

Any changes must go in the 7.x version first.

Custom Breadcrumbs 1 (6.x-1.x and 7.x-1.x)

Allows administrators to set up parametrized breadcrumb trails for any node type. This allows CCK-style node types to have "Home > User Blog > 2005 > January" style breadcrumbs on the node view page itself, synchronizing cleanly with custom views or pathauto aliases. Breadcrumb visibility can be customized via a php snippet.

There are no maintainers doing any work on these branches, so please switch to version 2! :) If, for some reason, you'd like these branches maintained, please offer to become a co-maintainer to work on them.

Similar Modules


Linkit - Enriched linking experience

Linkit 7.x-3.x UI.

Linkit provides an easy interface for internal and external linking with editors and fields by using an autocomplete field. Linkit links to nodes, users, managed files, terms and have basic support for all entities by default.
Linkit has three major advantages over traditional linking

  1. The user does not have to copy or remember a URL.
  2. It is a sustainable solution for internal linking.
  3. It has a user friendy UI.


  • Basic support for all entities.
  • Token support (for better descriptions on search results in Linkit).
  • Provides a link button, similar to the ordinary link button in most editors.
  • Can be attached to fields.
  • The button opens a dialog with an autocomplete field for searching content.
  • Support for IMCE.
  • Settings are handled by profiles, similar to the profiles of the WYSIWYG module. Thus, it is possible to customize the behavior of Linkit in detail.
  • Works with and without Pathologic.
  • Internal absolute URL:s converts automatically into Drupal paths, very simple for users who are used to copy-pasting.




DraggableViews makes rows of a view "draggable" which means that they can be rearranged by Drag'n'Drop.

Have you ever rearranged Blocks?, sorted Taxonomy terms? or reordered Menu items at the Drupal administration pages? All these pages use the tabledrag.js javascript that enables Drag'n Drop on HTML-tables.

With DraggableViews you can apply this tabledrag.js to any Views-generated table.

Current Development

The goal is to put out 7.x-2.1 & 7.x-2.2 then focus on D8. I (iStryker) had a talk with Yuriy (ygerasimov) at DrupalCon Portland and we both agreed that the focus of this module should be D8, and be backported to D7.

If you would like to help us, with migrating to Drupal 8, or improving this module or are interested in paid services, please Contact Me.

7.x-2.x branch


Exclude Node Title

A checkbox to exclude title


This module handles a very simple functionality, decide whatever to exclude a node title from full node page or node teasers.
It provides a checkbox on node-edit pages for easier exclusion, or you can use the admin page to manually enter a list of node id's to exclude title.
Also provides the option to hide all titles of a certain Content type. From the administrative interface you can select a content type to hide title for.
Use case: Let's say you create a content type called: Lightbox content, and in your layout lightbox content will have titles set on title attribute of the link, rather than inline on your page, so you would like to exclude title from displaying inline for all your nodes of type Lightbox content, simple, just check the option and voila.

How it works?

This project has some other, very simple approaches, like hiding the title from CSS using display: none or applying the template_preprocess_page hook in your theme to make the title variable null.
Actually Exclude Node Title does the same thing, only that you don't have to manually make different hacks, hard to track from the administration interface.

New features 7.x-1.5


    Media: Vimeo


    Media: Vimeo adds Vimeo as a supported media provider.

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


    Media: Vimeo has one dependency.

    Contributed modules


    Search API Database Search

    This module provides a backend for the Search API that uses a normal database to index data. It is therefore a cheap and simple alternative to backends like Solr, but can also be a great option for larger sites if you know what you're doing.
    The prime example of a large site using this module is this site itself – all issue queue listings are generated by the Search API using this module as the backend.


    Taxonomy Manager

    Taxonomy Manager Interface (7.x)

    This module provides a powerful interface for managing taxonomies. A vocabulary gets displayed in a dynamic tree view, where parent terms can be expanded to list their nested child terms or can be collapsed.

    The Taxonomy Manager has following operations and key features:

    • dynamic treeview
    • mass deleting
    • mass adding of new terms
    • moving of terms in hierarchies
    • merging of terms (using the Term merge module in 7.x)
    • fast weight changing with up and down arrows (and AJAX saving)
    • AJAX powered term editing form
    • simple search interface
    • CSV Export of terms
    • i18n support for multilingual vocabularies (per language terms)
    • Double Tree interface for moving terms in hierarchies, adding new translations and switching terms between different vocabularies

    For using the Taxonomy Manager you should have JavaScript and automatically load of images enabled in your browser.

    This is a Google Summer of Code 2007 project. Read my proposal and my status reports for more information.

    Drupal 7
    The Taxonomy Manager is incompatible with the Devel Themer (#874488: Clicking Add button does nothing - incompatibility with Devel module and Tao based themes (like Rubik))



    The Masquerade module allows site administrators (or anyone with enough permissions) to switch users and surf the site as that user (no password required). That person can switch back to their own user account at any time.

    This is helpful for site developers when trying to determine what a client, logged in as themselves, might see when logged into the site.



    Picture 5.png

    Integration with the ShareThis social bookmarking utility on selected node types.

    The code for this project was based on the original share project for Drupal 5.x. The code for this project has been trimmed down to only work with the ShareThis system, and not require any additional modules to work properly.



    While working on the new content translation system for Drupal 7, we (the Drupal core i18n team) faced the need to convert node titles to the Field API in order to make nodes fully translatable.

    We were not able to make this happen in Drupal 7 core (#557292: TF #3: Convert node title to fields and #571654: Revert node titles as fields), so we decided to find a solution for this in contrib: the idea is replacing node titles with fields à la Automatic Nodetitles.

    This will be exploited by the related Entity Translation project.


    Title requires core version at least 7.15.


    After enabling the module as usual, visit the Manage fields page of the content type, taxonomy vocabulary or "comment type" which you wish to replace fields of and click the replace link. That's all.

    Bug fixing policy

    This project is maintained mainly through voluntary and sponsored work, this means our resources are limited. Bug reports will be taken into consideration only if they allow to reproduce the reported issue:


      Video Embed Field

      Video Embed Field - Detail and Listing Displays

      Video Embed field creates a simple field type that allows you to embed videos from YouTube and Vimeo and show their thumbnail previews simply by entering the video's url.