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

CKEditor - WYSIWYG HTML editor

This module will allow Drupal to replace textarea fields with the CKEditor - a visual HTML editor, usually called a WYSIWYG editor. This HTML text editor brings many of the powerful WYSIWYG editing functions of known desktop editors like Word to the web. It's very fast and doesn't require any kind of installation on the client computer.

What is CKEditor?

CKEditor is the far superior successor of FCKeditor. The editor has been rebranded and completely rewritten. It is now much faster (the code has been optimized), loads faster (the number of files has been reduced, so the browser will perform less HTTP requests) and developers friendly.

Useful links



Allows the use of client-side editors to edit content. It simplifies the installation and integration of the editor of your choice. This module replaces all other editor integration modules. No other Drupal module is required.

The Wysiwyg module supports any kind of client-side editor including HTML editors (a.k.a. WYSIWYG), pseudo-editors (buttons to insert markup into a textarea), or even Flash-based applications. The editor library must be downloaded separately. Various editors are supported (see below).

The Wysiwyg module also provides an abstraction layer for other Drupal modules to integrate with any editor. This means that other Drupal modules can expose content-editing functionality, regardless of which editor you have installed.

Discussions happen in the Wysiwyg group, and in IRC #drupal-wysiwyg.



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.


Global Redirect

Global Redirect


GlobalRedirect is a simple module which…

  1. Checks the current URL for an alias and does a 301 redirect to it if it is not being used.
  2. Checks the current URL for a trailing slash, removes it if present and repeats check 1 with the new request.
  3. Checks if the current URL is the same as the site_frontpage and redirects to the frontpage if there is a match.
  4. Checks if the Clean URLs feature is enabled and then checks the current URL is being accessed using the clean method rather than the 'unclean' method.
  5. Checks access to the URL. If the user does not have access to the path, then no redirects are done. This helps avoid exposing private aliased node's.
  6. Make sure the case of the URL being accessed is the same as the one set by the author/administrator. For example, if you set the alias "articles/cake-making" to node/123, then the user can access the alias with any combination of case.
  7. Most of the above options are configurable in the settings page. In Drupal 5 you can access this after enabling the globalredirect_admin module. In Drupal 6, the settings page is bundled into the module.


Content Construction Kit (CCK)

The Content Construction Kit allows you to add custom fields to nodes using a web browser.


Block Class

CSS classes field added by the Block Class module on Block configuration form.

Block Class allows users to add classes to any block through the block's configuration interface. By adding a very short snippet of PHP to a theme's block.tpl.php file, classes can be added to the parent <div class="block ..."> element of a block. Hooray for more powerful block theming!


Page Title

Page Title

The word "title" is a bit overloaded. Every piece of content in Drupal has a title, and so does every page. The page title is the one found in the HTML head inside the <title> tag. It is also used on SERPs (Search Engine Result Pages) and can greatly enhance your websites SEO (Search Engine Optimization).

This module gives you granular control over the page title. You can specify patterns for how the title should be structured and, on content creation pages, specify the page title separately to the content's title.


Media: YouTube

Powered by YouTube

Media: YouTube adds YouTube as a supported media provider.

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


Media: YouTube has one dependency.

Contributed modules


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.



ImageField provides an image upload field for CCK. ImageField is a CCK-based alternative to the legacy Image project. It boasts features such as multiple images per node, resolution restrictions, default images, and extensive Views support.

ImageField does not provide a built-in thumbnail solution, but complements the incredibly powerful thumbnail generation module ImageCache.

ImageField related projects


Node clone

The clone module allows users to make a copy of an existing item of site content (a node) and then edit that copy. The authorship is set to the current user, the menu and url aliases are reset, and the words "Clone of" are inserted into the title to remind you that you are not editing the original content.



FileField with Progress Bar

FileField provides a universal file upload field for CCK. It is a robust alternative to core's Upload module and an absolute must for users uploading a large number of files. Great for managing video and audio files for podcasts on your own site.


  • Configurable upload paths allow you to save files into per-field or per-user directories
  • Per-field and per-node file size limits
  • Extensive API for extending field widgets and managing files
  • Full revision/translation file management
  • Views support
  • Ajax Uploads (and progress bar support with the PECL uploadprogress extension)
  • Pretty Icons
  • All the goodness of CCK (multiple output formats, shared fields, multiple values, and much more)



jCarousel screenshot

This module allows developers and themers to make use of the jCarousel jQuery plugin. It includes a developer API that other modules can use, as well as Views integration in the 2.0 version so that you can turn any list of content or images into a carousel.



Honey Pot

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

Honeypot uses both the honeypot and timestamp methods of deterring spam bots from completing forms on your Drupal site (read more here). These methods are effective against many spam bots, and are not as intrusive as CAPTCHAs or other methods which punish the user [YouTube].

The module currently supports enabling for all forms on the site, or particular forms like user registration or password reset forms, webforms, contact forms, node forms, and comment forms.


Views data export

This module is designed to provide a way to export large amounts of data from views. It provides a display plugin that can rendered progressively in a batch. Style plugins are included that support exporting in the following types:

  • CSV
  • Microsoft XLS
  • Microsoft DOC
  • Basic TXT
  • XML.

Advanced usage

This module also exposes a drush command that can execute the view and save its results to a file.

drush views-data-export [view-name] [display-id] [output-file]


The batched export functionality of this module requires a MySQL database.
This module also requires version 2.7 or higher of views.

Similar modules

  • Views Bonus Pack includes an export submodule that allows exports, but is not scalable for large data sets.
  • Views Datasource allows exporting to XML/JSON among many others, but is geared towards small exports.
  • Services Views provides ways of exporting views results as XML, JSON and CSV using Services.



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.



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.


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.


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.


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



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:



    The migrate module provides a flexible framework for migrating content into Drupal from other sources (e.g., when converting a web site from another CMS to Drupal). Out-of-the-box, support for creating core Drupal objects such as nodes, users, files, terms, and comments are included - it can easily be extended for migrating other kinds of content. Content is imported and rolled back using a bundled web interface (Migrate UI module) or included Drush commands (strongly recommended).