Add functionality and customize your Drupal application with thousands of projects contributed by our amazing community.

8,337 modules match your search

A module is code that extends Drupal's by altering existing functionality or adding new features. You can use modules contributed by others or create your own. Learn more about creating and using Drupal modules.

Field Group

fieldgroup_03.png

Fieldgroup will, as the name implies, group fields together. All fieldable entities will have the possibility to add groups to wrap their fields together.

CKEditor 4 - WYSIWYG HTML editor

This module will allow Drupal to replace textarea fields with the CKEditor 4 - 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.

CKEditor 4 is officially reaching its end-of-life soon

At the end of Q2 2023 CKSource (the maintainer of CKEditor 4) is ending security coverage for CKEditor 4, after more than a decade.

CKEditor 4 support in Drupal extended until the end of 2023

Due to the long-term strong relations between CKEditor and Drupal, the support for CKEditor 4 in Drupal is going to be provided by the end of 2023 by CKSource. We recommend however migrating to CKEditor 5 in the nearest future, to avoid last-minute upgrades at the end of the year.

Support for official CKEditor 4 plugins provided by contributed modules

Some CKEditor 4 plugins developed by CKSource are available in Drupal thanks to contributed modules. CKSource will be supporting module maintainers and provide updated versions of CKEditor 4 plugins whenever there is a security update concerning plugins they are depending on until the end of 2023.

To ease the transition to CKEditor 5 (in Drupal 9.5 and Drupal 10.0), it is possible to use the 1.0.x branch of this project until contributed and custom modules are ready. Once CKEditor 4 no longer receives security updates (the end of 2023), this project will be marked unsupported.

If you are interested in getting security updates for CKEditor 4 beyond that date (up until December 2026), please check the CKEditor 4 LTS module, where a special edition, CKEditor 4 LTS ("Long Term Support"), is available under commercial terms ("Extended Support Model") for anyone looking to extend the coverage of security updates and critical bug fixes.

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

Useful links

Entity Reference Revisions

Adds an Entity Reference field type with revision support, allowing specific entity revisions to be references. This is useful for modules like Paragraphs and Inline Entity Form.

Paragraphs

Overview

Paragraphs is the new way of content creation!
It allows you — Site Builders — to make things cleaner so that you can give more editing power to your end-users.

Honeypot

Honey Pot

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.

Link

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.

Linkit

Linkit provides an autocomplete interface for internal and external linking in rich-text editors. Linkit supports nodes, users, taxonomy terms, files, comments and basic support for all types of entities that define a canonical link template.

Block Class

Block class logo

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!

Editor Advanced link

Enriched link dialog screenshot

Enhances the link Dialog in CKEditor.
Allows to define the following attributes:

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]

Requirements

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.

Wysiwyg

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.

D7 Media

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

Drupal 8.4.x now comes with a module called 'Media' that is similar to the D7 version. It is included in core as of 8.4.x. See this documentation on how to configure the 'core' module , no need to download this module it is included in D8/D9/D10+ core releases.

Svg Image

This module changes default image field widget and formatter to allow use SVG image with the standard Image field.

Using SVG Image module you will not have to use another field type to load SVG image. Load SVG files into the Image field, it is not needed to create file field or special "SVG" type field.

Embed

A framework module to help smooth the developer experience of offering embeddable things using the Drupal 8 WYSIWYG editor.

Scheduler

Scheduler gives content editors the ability to schedule nodes to be published and unpublished at specified dates and times in the future.

Entity Embed

Embedding the Druplicon into a textarea using CKEditor.

Entity Embed allows any entity to be embedded within a text area using a WYSIWYG editor.

External Links

External Links

External Links is a small module used to differentiate between internal and external links.

Global Redirect

Global Redirect

Update: For Drupal 8 please use the redirect module. This project is deprecated for D8

What?

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.

Slick Carousel

Drupal slick carousel

Slick is a powerful and performant slideshow/carousel solution leveraging Ken Wheeler's Slick carousel.

Flex Slider

Description

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.

Token Filter

A Drupal module that lets you use special placeholders (tokens) as filters.

Allowed Formats

Important updates in the 3.0.0 release (3.0.x branch)

    Quick Node Clone

    Quick Node Clone

    Quick Node Clone is meant as a way in Drupal 8/9 to clone nodes.

    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.

    Pages