1,768 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.


Module description

The link module provides a standard custom content field for links. With this module, links can be easily added to any content types and profiles and include advanced validating and different ways of storing internal or external links and URLs. It also supports additional link text title, site wide tokens for titles and title attributes, target attributes, css class attribution, static repeating values, input conversion, and many more.

Requirements / Dependencies

  1. Drupal 6: Custom content module (CCK)
  2. Drupal 7: Fields API is provided already by core [no dependencies].
  3. Drupal 8: Link module is in core now. No module installation needed. Yay! Don't forget to activate it. It's deactivated by default.

INFO Since some misleading user reports we need to clarify here - Link module is NOT about to add links to any menus or the navigation nor primary/secondary menu. This can be done with default menu module (part of Drupal core). The Link module provides an additional custom field for storing and validating links to be added with any content type, which means another input block additional to your text-body, title, image and any other input you can make on new content creation.



Screenshot of the media browser

The Media module provides an extensible framework for managing files and multimedia assets, regardless of whether they are hosted on your own site or a 3rd party site - it is commonly referred to as a 'file browser to the internet'.

Media is a drop-in replacement for the Drupal core upload field with a unified User Interface where editors and administrators can upload, manage, and reuse files and multimedia assets. Any files uploaded before Media was enabled will automatically take advantage of the many of the features it comes with.

Media's aim is to solve Drupal's long standing media handling problem.

Drupal 8

Media for Drupal 8 is undergoing a re-architecture to individual components. See this issue for more detail. Media will eventually be ported to Drupal 8, but more as a proof of concept of these smaller modules. You can still do a lot with individual pieces.


Field Group


Fieldgroup will, as the name implies, group fields together. All fieldable entities will have the possibility to add groups to wrap their fields together. Fieldgroup comes with default HTML wrappers like vertical tabs, horizontal tabs, accordions, fieldsets or div wrappers.


Address Field

Address field widget form

Address Field defines a new field type to store international postal addresses, implementing a subset of the top-level address elements defined in the xNAL standard (see the glossary below).

The field configuration lets you determine which elements of an address should be present in the field widget form and which ones should be rendered for display.

This module was initially developed to support address storage in Drupal Commerce customer profiles, but it is now used by a wider variety of modules dealing with physical addresses and mapping.


  • Standardized storage of international postal addresses based on the xNAL standard (the same format used by Google Maps for geocoding)
  • Per-country edit form and formatting of addresses
  • Proper formatting of address forms and output on a country by country basis as they are added to the module; see the address formats issue queue for pending country support
  • Feeds integration for address importing


Flex Slider

Issue with Fields and alpha 2

Please upgrade to FlexSlider alpha 3 to fix FlexSlider Fields issues.
#2069435: FlexSlider alpha2 breaks FlexSlider Fields integration


Flex Slider module integrates the Flex Slider library with Drupal and several contributed modules which allows you to build responsive, resizable slideshows. Meaning the slideshows automatically adapt to the size of the browser window or device.

Some features of FlexSlider slideshows include:

  • Touch enabled nagivation
  • Keyboard navigation
  • Configurable slide animations
  • Multiple sliders per page
  • Lots more...

Current Options

Allows you to use Flex Slider in a few different ways

  • As a library to be used with any other theme or module by calling drupal_add_library('flexslider', 'flexslider') or preferably with libraries_load('flexslider') or with flexslider_add()
  • Integrates with Fields (flexslider_fields)
  • Integrates with Views using a style plugin (flexslider_views)

FlexSlider v2

FlexSlider Video Tutorials

We'll be posting a series of videos on using FlexSlider to our YouTube playlist. If you have a suggestion for a video, post it to the #2068973: Video Tutorial Series Suggestions comment thread.




Insert is a utility that makes inserting images and links to files into text areas or WYSIWYGs much easier. It adds a simple JavaScript-based button to FileField and ImageField widgets. When used with ImageField and ImageCache, images may be inserted into text areas with a specific ImageCache preset.

This module was previously known as FileField Insert.


  • Support for all major WYSIWYG editors, including tinyMCE, CKeditor, the WYSIWYG project (the recommended approach), and plain text areas.
  • Insert images using ImageCache presets
  • Maximum width setting for inserted images (for combined use with the Image Resize Filter module)
  • Per-field insert configuration

See this module in action in the excellent FileField Insert / Image Resize Filter screencast by MustardSeed Media.


  • CCK (2.5 or higher! D6 only.)

Recommended projects


Multiupload Filefield Widget

This module is the correctly namespaced version of http://drupal.org/project/1115362. Please use this instead of that one.

The File module of Drupal 7 enables you to select only one file at a time which can be very time consuming in case of many files. This module uses the 'multiple' attribute of html5 to overcome this problem and presents a widget called 'Multiple' that can be used with fields of type File.


Field Permissions


The Field Permissions module allows site administrators to set field-level permissions to edit, view and create fields on any entity.


  • Enable field permissions on any entity, not just nodes.
  • Role-based field permissions allowing different viewing patterned based on what access the user has.
  • Author-level permissions allow viewing and editing of fields based on who the entity owner is.
  • Permissions for each field are not enabled by default. Instead, administrators can enable these permissions explicitly for the fields where this feature is needed.
  • Field permissions overview


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


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.



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.



    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)


    Meta tags quick

    Meta tags support based on Fields API.


    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:


    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.



    Breakpoints management for responsive web design.

    Breakpoints defined by a theme

    A theme can define multipliers and breakpoints in the theme.info file like


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



    This module will geocode just about anything you throw at it including addresses, GPX files, geo-tagged images, and KML files.

    It is commonly used to automatically geocode Addressfield addresses into Geofield points for display on Openlayers Maps. It also supports the geolocation, and location modules.

    This module also makes available an API to convert the information you already have into geographic information. It support a variety of input formats and runs them through pluggable backends to produce geographic information. In addition to Latitude / Longitude points, this API also supports more complex geographies such as lines and polygons.

    If you'd like to help improve the module your patches and co-maintenance are welcome!



    Computed Field

    Computed Field is a very powerful field module that lets you add a custom "computed fields" to your content types. These computed fields are populated with values that you define via PHP code. You may draw on anything available to Drupal, including other fields, the current user, database tables, you name it. (Feeling the power yet? :) ) You can also choose whether to store your computed field values in the database with other content fields, or have them "calculated" on the fly during node views. (Although you should note that Views use requires database stored values.) This field is literally the Swiss Army knife of fields. So start cooking up your PHP based values!


    YouTube Field

    YouTube field

    The YouTube field module provides a simple field that allows you to add a youtube video to a content type, user, or any other Drupal entity.

    Display types include:


    Simple Google Maps

    This module is about the simplest way to get a Google Map, and/or a link to a Google Map, displayed with your content. It provides a field formatter for Drupal plain text fields. You enter an address that Google Maps can recognize in the plain text field, and the formatter displays it as a map, link to Google Maps, or both.

    If you want to do something more complicated than this, such as displaying location fields from multiple nodes on a map, see:


    Imagefield Crop

    Imagefield Crop


    Imagefield Crop provides a widget(1.x) or field(2.x) for selection based cropping an image after upload.

    Comparison of image cropping modules


    When the user uploads an image it is presented inside a cropping area. A cropping box is shown inside, and the user can resize and move it. Upon clicking "preview" or "submit", the image is cropped and the result is saved instead of the original image.