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

EVA: Entity Views Attachment


"Eva" is short for "Entity Views Attachment;" it provides a Views display plugin that allows the output of a View to be attached to the content of any Drupal entity. The body of a node or comment, the profile of a user account, or the listing page for a Taxonomy term are all examples of entity content.

The placement of the view in the entity's content can be reordered on the "Field Display" administration page for that entity, like other fields added using the Field UI module.




The Fivestar voting module adds a clean, attractive voting widget to nodes and comments and any entity. It features:

  • jQuery rollover effects and AJAX no-reload voting
  • Configurable star sets
  • Graceful degradation to an HTML rating form when JavaScript is turned off
  • Support for anonymous voters
  • Spam protection to keep users from filling your DB with bogus votes
  • Easy-to-use integration with Views module for lists sorted by rating, or filtered by min/max ratings
  • A Fivestar CCK field for use in custom node types
  • An easy-to-use Form API element type for use in other modules
  • Compatible with all versions of jQuery (1.0 - 1.8)



Provides integration with the geoPHP library: https://geoPHP.net

This module does not provide any direct functionality to end-users or site-administrators. Install it only if another module requires it.

GeoPHP is a open-source native PHP library for doing geometry operations. It is written entirely in PHP and can therefore run on shared hosts. It can read and write a wide variety of formats (WKT, WKB, GeoJSON, KML, GPX, GeoRSS). It works with all Simple-Feature geometries (Point, LineString, Polygon, GeometryCollection etc.) and can be used to get centroids, bounding-boxes, area, and a wide variety of other useful information.

geoPHP also helpfully wraps the GEOS php extension so that applications can get a transparent performance increase when GEOS is installed on the server. When GEOS is installed, geoPHP also becomes fully compliant with the OpenGIS® Implementation Standard for Geographic information. With GEOS you get the full-set of openGIS functions in PHP like Union, IsWithin, Touches etc. This means that applications get a useful "core-set" of geometry operations that work in all environments, and an "extended-set"of operations for environments that have GEOS installed.

Read the API Reference at: https://geoPHP.net/api.html
Learn about GEOS integration at: https://geoPHP.net/geos.html



Language Icons

Language Icons

This module provides icons for language links, both for the Language switcher block and (optionally) for node links. It is a spin-off from Internationalization (i18n) package.

As basic multilingual support is now built into Drupal 6 core, it doesn't depend anymore on any other contributed module. This module will work as simple add-in for Drupal 6.

However, for a fully enabled multilingual site, the Internationalization package is recommended.


File (Field) Paths

The File (Field) Paths module extends the default functionality of Drupal's core File module, Image module and many other File upload modules, by adding the ability to use entity based tokens in destination paths and file names.

In simple terms, File (Field) Paths allows you to automatically sort and rename your uploaded files using token based replacement patterns to maintain a nice clean filesystem.


Drupal 8

Work is underway to port File (Field) Paths to Drupal 8, but in the interim there is an unofficial port available at https://github.com/MichelleCox/filefield_paths.

Please note that the unofficial port will not be supported in the issue queue and that there is no guarantee that there will be an upgrade path from the unofficial port to the official port.



  • Configurable file paths now use entity tokens in addition to user tokens.
  • Configurable file names.
  • Support for file based fields, including but not limited to:
    • Drupal core File module
    • Drupal core Image module
    • Video module.
  • File path and filename cleanup options:
    • Remove slashes from tokens.
    • Filter out words and punctuation by taking advantage of the Pathauto module.
    • Convert unicode characters into US-ASCII with the Transliteration module.
  • Automatically updates unprocessed file paths in any Text fields on the entity.
  • Retroactive updates - rename and/or move previously uploaded files.
  • Active updating - actively rename and/or move previously uploaded files.
  • Automatically create an redirect when moving uploaded files using the Redirect module.


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))


Image Resize Filter

The easiest end-user solution for resizing inline images.

This filter makes it easy to resize images, especially when combined with a WYSIWYG editor such as tinyMCE, CKeditor etc. Users never have to worry about scaling image sizes again, just insert an image and set it's height and width properties in HTML (this is done automatically by WYSIWYG editors) and the image is resized on output to match the HTML.


  • Automatically resizes both local and (optionally) remote images.
  • Optionally create a link to full size images from the resized inline versions.
  • Prevents inline "hot linking" of images from other sites by storing them locally.
  • Adds height and width attributes to inline images when your users are too lazy to add them.

Image Resize Filter demo and configuration options by Lullabot.
Demo combining FileField Insert with Image Resize Filter by MustardSeed Media.

Webkit/Chrome/Safari Users:
The "resize handles" typically shown in WYSIWYGs do NOT work in Webkit-based browsers (which includes Safari and Chrome) due to a shortcoming in the implementation of these browsers. See https://bugs.webkit.org/show_bug.cgi?id=12250 and this issue for discussion: #1102294: Webkit-based browsers (Safari/Chrome) do not support resize handles.


Multiple forms

This is an API module which lets you put several forms into one <form>.

The usage is very simple: there is one API function to call: multiform_get_form() and you can pass the form names in the attribute list.

$merged_form = multiform_get_form('my_form', 'another_form', 'another_form2');

See multiform.example.inc for an example.


Gallery formatter


Gallery formatter provides a CCK formatter for image fields, which will turn any image field into a jQuery Gallery.

(Drupal 6) Watch the screencast for a demo of how to set it up REMOVED BY BLIP.TV!, or visit the demo page for seeing it in action.


  • Two imagecache presets which will work out of the box beautifully.
  • The thumbnails run under an infinite carousel.
  • Degrades gracefully without JS enabled, the gallery still works.
  • Integrated out of the box with thickbox, colorbox (recommended as the thickbox upgrade path), shadowbox and lightbox2 for the view full links.
  • Works with the swfupload, image_fupload, and imagefield_crop widgets.
  • A hook for modules to provide styles for the galleries.
  • Two options for styles, no style and a green arrows style. No style should be used for developing your own styles.



Geofield is a module for storing geographic data in Drupal 7. It supports all geo-types (points, lines, polygons, multitypes etc.)

Widgets (Data Input)

Latitude and Longitude
Supports entering data as both Decimal Degrees (122.340932) and Degrees-Minutes-Seconds (-123° 49' 55.2" W). The Degrees-Minutes-Seconds input is very tolerant of inconsistent input.

Bouding Box
Four textfields where lat / lon can be entered

Well Known Text (WKT)
A textarea for direct WKT input

Draw on an OpenLayers Map
Allows drawing of Points, Lines, Polygons and Bouding Boxes

HTML5 Geolocation
Transparently asks the browser for the user's current location. Works great on Chrome and smartphones with GPS.

Geocode from another field
There is good Integrations with the Drupal 7 version of the Geocoder module (http://drupal.org/project/geocoder). This allows you to use data from one field to populate your geofield automatically. Supported geocoders include:

  • Google Geocoder: Addressfield, textfield
  • Yahoo Geocoder: Addressfield, textfield
  • KML: filefield, textfield
  • GPX: filefield, textfield
  • GeoJSON: filefield, textfield
  • Geotagged Image: filefield, imagefield

Formatters (Data Output)


Webform Validation

Webform Validation module

This module adds an extra tab to each Webform node, allowing you to specify validation rules for your Webform components. You can create one or more of the predefined validation rules, and select which Webform component(s) should be validated against those. By using the hooks provided by this module, you can also define your own validation rules in your own modules.


Nodewords: D6 Meta Tags

This project allows you to add meta tags to Drupal pages, both manually and automatically based on various settings. Paying attention to meta tags, such as keywords, description and canonical URL, may help obtain better search engine positioning. The module aims to support the most useful meta tags, others may be created using the module's custom hooks.

Note: My current focus is on getting the D7 Metatag module to a stable point, at which point work will continue again on Nodewords.

The 6.x-2.x branch is currently unsupported

While forthcoming 6.x-1.14 release will probably be the final 6.x-1.x release, I've decided that the current 6.x-2.x branch (i.e. 6.x-2.0-alpha1) is no longer supported while I work out the module's future.

Version notes

Drupal 7 versions
Use the new Metatag module which is a ground-up rewrite of Nodewords with an upgrade path being worked on.
Drupal 6 versions
• The 6.x-1.x branch is under active development.


Embedded Media Field

Maintainers: aaron (Aaron Winborn) and Alex UA (Alex Urevick-Ackelsberg)

This extensible module will create fields for content types that can be used to display video, image, and audio files from various third party providers. When entering the content, the user will simply paste the URL or embed code from the third party, and the module will automatically determine which content provider is being used. When displaying the content, the proper embedding format will be used.

The module is only an engine, and requires a supported module to function. These include 'Embedded Image Field', 'Embedded Video Field' and 'Embedded Audio Field'. These modules are included in the contrib folder of the module, so they can be easily activated from the module administration page.

Please note: As of emfield 2.x, provider files for these modules are no longer included with the main emfield module, and must be downloaded separately- please see the list of projects providing provider files below.

Modules extending Embedded Media Field

The following modules work in conjunction with this project, largely to expose media providers (you'll need at least one of these to make the module useful):

Media: 8Tracks
Media: Archive


Profile 2

Designed to be the successor of the core profile module, which is deprecated for Drupal 7. In contrast to the deprecated module this module provides a new, fieldable 'profile' entity - leverage the power of fields!


Comparison to user account fields

As described in the documentation Drupal 7 allows adding fields to user account pages - what serves as simple way for building user profiles. The main differences between that and profile2 are:

  • With profile2 user account settings and user profiles are conceptually different things, e.g. with the "Profile pages" module enabled users get two separate menu links "My account" and "My profile".
  • Profile2 allows for creating multiple profile types, which may be assigned to roles via permissions (e.g. a general profile + a customer profile)
  • Profile2 supports private profile fields, which are only shown to the user owning the profile and to administrators.

Relationship to content profile


Custom Search

This module alters the default search box in many ways. If you need to have options available like in advanced search, but directly in the search box, this module is for you.

The module adds options to select: which content type(s) to search, which specific module search to use (node, help, user or any module that implements search), which taxonomy term to search in the results (by vocabulary), which input type to use.

There are also options to: change the default search box label, add a default text in the search box, add advanced search criteria, change the default submit button text, use an image instead of the submit button, change the order of all the elements, include some elements in a popup block, and a filter can be added to the results page.


Meta tags quick

Meta tags support based on Fields API.



Ubercart is the most popular Drupal E-Commerce platform.

Ubercart is the most popular Drupal E-Commerce platform for your website. It implements everything you need to start selling products online. Web Developers from all skill ranges can use it to support a variety of E-Commerce industries-- including physical goods, digital downloads, or even subscription based billing services. Ubercart can do it all!

For more details, be sure to visit the What is Ubercart? page for more info.

Current Features:

  • Configurable product catalog includes catalog pages and a block to display product categories.
  • Flexible product creation system with product classes.
  • Multiple product image support out of the box.
  • Flexible product attributes system.
  • Basic product stock level tracking and notification.
  • Product features to add file downloads, role promotions, and more to products.
  • Single page checkout.
  • Automatic account generation (anonymous checkout).
  • Customer and administrator checkout notifications.
  • Simple order processing (with workflow for automated order processing).
  • Simple order creation and editing.


Options Element

Options Element Screenshot

Options Element is a module that provides a better mechanism to specify select list, checkbox, and radio button options. Rather than requiring the user to use strange syntax like "key|value" in a textarea, Options Element provides a clean interface for specifying options. Developers may use $element['#type'] = 'options' in their own modules. If JavaScript is disabled, any 'options_element' will degrade to the standard textarea for specifying options.



This module allows users with proper permissions to upload images into Drupal. Thumbnails and additional sizes are created automatically.

Images could be posted individually to the front page, included in stories or grouped in galleries.


Image module ships with several add-on modules:

  • Image Gallery: Using taxonomy terms, organize and display your uploaded pictures in galleries (include Views support if you have Views 6.x-2.6 or later).
  • Image Attach: Allows you to easily attach image nodes to other node types.
  • Image Import: Simplify adding multiple images by importing images from a directory on the server.
  • ImageMagick Advanced: Adds advanced ImageMagick options such as image sharpening to the ImageMagick image toolkit. This component is unsupported.


Node export

This module allows users to export nodes and then import it into another Drupal installation, or on the same site.

Using this module you can save yourself a lot of time setting up new websites that have similar nodes to websites you've already made, migrating nodes to new Drupal versions, or between development/staging/production sites.

You will need the same content types for the imports to work (unless using Feeds to import), and ideally relevant compatibility with fields, and modules.



This module adds a weight option to enabled node types. Nodes with lower weight will float to the top of lists, while heavier items will sink.

You might be interested in reading Comparison of Node Ordering Modules.


Login Destination

Login Destination

The Login Destination module allows you to customize the destination that a user is redirected to after logging in, registering to the site (7.x), using a one-time login link or logging out (7.x). The destination can be an internal page or an external URL. It is possible to specify certain conditions like referring pages or user roles and make the destination depend upon them. You may use PHP snippets to provide custom conditions and destinations. It is also possible to keep users on the currently visited page after logging in or out.


Menu Breadcrumb

menu breadcrumb settings screen

By default, Drupal 6+ use the Navigation menu for the breadcrumb. This module allows you to use the menu the current page belongs to for the breadcrumb.

As an added bonus, it also allows you to :


String Overrides

String Overrides

Provides a quick and easy way to replace any text on the site.


  • Easily replace anything that's passed through t()
  • Locale support, allowing you to override strings in any language
  • Ability to import/export *.po files, for easy migration from the Locale module
  • Note that this is not a replacement to Locale as having thousands of overrides can cause more pain then benefit. Use this only if you need a few easy text changes.


Service links

Select and sort services

Service Links facilitates the adding of social networks links or javascript buttons within the content with a special focus on developers and themers interested to extend their number or customize their displaying. Built on Drupal for Drupal doesn't include commercial advertising or spying hidden code and doesn't require third part libraries.

The services included are various: del.icio.us, Digg, Facebook/Facebook Share/Facebook Like, Furl, Google Bookmark/Google Plus One, IceRocket, LinkedIn/Linkedin button counter, MySpace, Newsvine, Reddit, StumbleUpon, Technorati, Twitter/Twitter widget, Yahoo Bookmark, and many more, they are split for language in different packages: basque, dutch, farsi, german, hungarian, italian, polish, russian, spanish, swedish.

Other services are availables to be included within an extra module which can be built easily through a web interface.