4,173 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.

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


Meta tags quick

Meta tags support based on Fields API.



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.


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.


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:


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.



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.


Hierarchical Select

Hierarchical Select


This module defines the "hierarchical_select" form element, which is a greatly enhanced way for letting the user select items in a hierarchy.

Hierarchical Select has the ability to save the entire lineage of a selection or only the "deepest" selection. You can configure it to force the user to make a selection as deep as possible in the tree, or allow the user to select an item anywhere in the tree. Levels can be labeled, you can configure limit the number of items that can be selected, configure a title for the dropbox, choose a site-wide animation delay, and so on. You can even create new items and levels through Hierarchical Select!

For a good overview of what Hierarchical Select can do, look at this demo!

Drupal 7 version

The Drupal 7 version integrates with:

  • Taxonomy (Drupal core)
  • Menu (Drupal core)
  • Entity Reference (rudimentary support)



This module allows you to specify content type(s) as being a block. This allows the content managers of the site to edit the block text and title without having to access the block administration page. Users only need edit access to that node in order to edit it.

We advice you to use this module together with Node Level Blocks or Block Reference module.

It is very handy to create a simple block content type and enable this content type for blocks and use these in place of the normal 'add block' functionality.

Now supports translatable content

If Content Translation is enabled, then only a single node block per translation set is exposed and the node from the translation set with the appropriate language is loaded into the block. Entity translation is not supported yet.

Other modules

There are several other modules and approaches that allow nodes to be presented as a block. See a comparison at http://groups.drupal.org/node/93499

Drupal 7

The Drupal 7 version of this module enables the use of view modes. This gives the user even greater control over customizing the output of the node block. Default view modes and links display can now be assigned per content type and then overridden at block/node level.

Drupal 6



This module provides a phone field type

You should probably consider using https://www.drupal.org/project/telephone instead. Eventually, the validation and formatting features of this module will be moved into a new module that extends the telephone module in both D7 and D8.




Workbench provides overall improvements for managing content that Drupal does not provide out of the box. Workbench gives us three important solutions:

  • a unified and simplified user interface for users who ONLY have to work with content. This decreases training and support time.
  • the ability to control who has access to edit any content based on an organization's structure not the web site structure
  • a customizable editorial workflow that integrates with the access control feature described above or works independently on its own

These features benefit the end users as well as Drupal Site Administrators and Technical Support.

For Drupal Developers and Site Builders, Workbench provides several additional benefits:

  • a modular architecture: only install and enable the modules you want
  • extensibility: we would love to see more integration with other Drupal modules (in fact we have our eyes on Scheduler and Workflow modules and improvements for Asset Management)

Related Modules



The ACL module, short for Access Control Lists, is an API for other modules to create lists of users and give them access to nodes. It has no UI of its own and will not do anything by itself; install this module only if some other module tells you to.

We're aware of the following modules using ACL (let us know if you know of others):



Viewfield provides a field that holds a reference to a View and renders it whenever the entity containing the field is displayed.


  • Author chooses a view and display from a list.
  • View arguments are supplied through tokens.
  • Administrators may restrict which views may be assigned.
  • Administrators may supply a common value that will be used for all entities in a content type.


Override Node Options

Override Node Options

The Override Node Options module allows permissions to be set to each field within the Authoring information and Publishing options field sets on the node form. It also allows selected field sets to be set as collapsed and / or collapsible.

To install:

  1. Download, unpack and place in sites/all/modules/
  2. Adjust access control in admin/user/permissions
  3. Adjust Fieldset options in admin/settings/override_node_options

Note: Autocomplete "Authored by" field only works if user has "Access user profiles" permission.


Back To Top

Back To Top - Example

Back To Top adds a button that hovers in the bottom of your screen and allow users to smoothly scroll up the page using jQuery.

Back To Top uses jQuery UI library effects for smooth easing of scroll.

Similar modules

Be sure to check out the Scroll To Top module. The module differs from Back To Top in some ways:

  • Back To Top have a different image for scrolling
  • Back To Top have a different animation style
  • Back To Top have more configuration options
  • Back To Top have a prevent on mobile/touch device function
  • Scroll To Top have a 6.x version


There are settings for:

  • Preventing the button to appear in mobile or touch devices.
  • Choosing between a image och text/css button
  • Placement of the button
  • Style of the text/css button

Theming the button

You can theme or change image by theming on the ID backtotop.

<div id="#backtotop">Back To Top</div>

You can change the text Back To Top with the translation in Drupal.




Input Widget > Table Display

This module allows you to attach tabular data to a node in Drupal 6 or any entity in Drupal 7. The input form allows the user to specify the number of rows/columns and allows entry into each table cell using text fields. Tables can be defined globally or on a per-node/per-entity basis, so every node can have multiple tables of arbitrary size. Enter data by hand or by CSV upload. Table data can also be downloaded as CSV files by your users if you so choose. Tables are multi-value and revision capable.


Share Buttons by AddToAny

AddToAny Logo

Share buttons for Drupal including AddToAny's universal sharing button, Facebook, Twitter, Google+, Pinterest, WhatsApp and many more.

Large vector share buttons use AddToAny SVG sharing icons. AddToAny vector icons load efficiently, are mathematically precise, scalable to any size, and stunning on High-PPI screens such as Retina and Retina HD displays.

Share buttons

  • Universal sharing button
  • Modern SVG sharing buttons
  • Traditional PNG sharing buttons
  • Elegant Drupal integration
  • AJAX support
  • Display on articles
  • Display on article teasers
  • Display on pages
  • Display in blocks
  • Display in custom nodes



FileField Sources Plupload

FileFiled Sources Plupload screenshot

FileField Sources Plupload lets you add Plupload (a multiple files/multifile upload widget) as a source to any file field supporting FileField Sources.

Plupload is a GPL licensed multiple file uploading tool that can present widgets in Flash, HTML5, Silverlight, and HTML4 depending on the capabilities of the client computer.

By using FileField Sources to add Plupload as a source, multiple file uploads can be achieved on regular File and Image fields using the standard widgets as well as a range of contributed field widgets supporting FileField Sources. This includes cropping widgets, like the excellent Manual Crop.

Core Features

  • Multiple file uploading across a wide range of browsers
  • Increased speed using chunked file uploads
  • Maximum file size can be set larger than PHP limits
  • Compatible - does not require its own wiget
  • Client side (as well as server side) file validation
  • Supports transliteration of file names



Shortcodes are actually macros to be used in the text of contents. These macros change the text of the content and format the given part through the theme engine. This module defines few basic shortcodes only. (New ones will come.)

Shortcode is an API that handles the shortcode macros for text formats. You can add your own shortcode tags via this API. All tags are themeable and new tags can be provided by other modules.

Initial work is based on the Wordpress Shortcode API but was reworked for Drupal. You can nest tags (within same tags too), no need for special recursion handling.

Macros come with this module

Shortcode basic tags module

  • [quote] Replace the given text formatted like as a quote.
  • [img] Show an image.
  • [highlight] Insert a span with highlight css class around the text.
  • [button] Insert a link formatted like as a button.
  • [dropcap] Replace the given text formatted like as a dropcap.
  • [item] Insert div or span around the text with some css classes.'
  • [clear] Insert a float-clearing div for a proper layout.
  • [link] Makes an aliased link to the given path.



Widget set edit admin

Widgets enables you to centrally manage and configure code snippets on your site such as share and follow buttons or Twitter updates and Facebook like boxes. It implements a user interface that allows you to easily organize and configure various widget elements. Using a UI similar to core’s image styles, elements can be assembled into widget sets which can be reused throughout the site via blocks and other render displays.

The Widgets module is primarily a user interface API and as such includes only generic markup widgets. You can add new custom widgets using the widget definition admin or enable modules that provide widgets. There are several dozen widgets available through the Social media and Service links modules.


  1. Installation. Use standard methods to install the Widgets archive files into your Drupal site. Then go to admin > modules and enable the Widgets module. You will want to install the Social media and/or Service links modules also to provide widget sources.
  2. To display widget sets on your site use the blocks admin at admin > structure > blocks or other method for managing blocks such as Context or Panels. Look for blocks that start with the label "Widgets:" Several pre-built widget sets are provided by the Social media module.