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

52,048 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.

Pathauto

Pathauto logo

The Pathauto module automatically generates URL/path aliases for various kinds of content (nodes, taxonomy terms, users) without requiring the user to manually specify the path alias. This allows you to have URL aliases like /category/my-node-title instead of /node/123. The aliases are based upon a "pattern" system that uses tokens which the administrator can change.

Token

Provides placeholder variables (tokens) and an interface for browsing available tokens. As records are displayed, contextual values are replaced, such as [node:title] or [user:name].

Chaos Tool Suite (ctools)

CTools is a developer toolkit that provides APIs, etc. to improve the developer experience. Most often you don't install this directly; it's a dependency of some other module you want.

Webform

Build forms to collect data from site visitors. Create everything from a simple contact form to a multi-page form with many fields, conditional logic, and email notifications.

Metatag

Metatag config interface on Drupal 8.

Allows generating meta tags for site content, from simpler tags like "description" and "image_src", to more advanced tags like OpenGraph (for Facebook, LinkedIn, etc), Twitter Cards and Dublin Core.

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.

CAPTCHA

Drupal CAPTCHA module

Add challenge-response tests to user-facing forms on your site to protect against spambot submissions. Other CAPTCHA types are supported via additional modules.

Admin Toolbar

Improves the default administration toolbar menu by turning it into a drop-down, for fast access to all administration pages. Can also provide access to additional tools from the admin menu.

Redirect

Provides the ability to create manual redirects and maintain a canonical URL for all content, redirecting all other requests to that path.

Features

  • Common API for loading, saving, and deleting redirects.
  • Case-insensitive redirect matching with a hook to allow other modules to narrow-down the candidate redirects.
  • Redirect counter and last used timestamp, with automatic cleanup of inactive redirects. (Provided by Redirect Metrics in D8)
  • Integration with Drupal's page cache to optimize redirects and performance.
  • Complete individual redirect access API.
  • Views API integration.
  • D8: Maintaining a canonical path and redirecting alternative URL's like non-aliased path, path without language prefixes and so on (Previously provided by Global redirect)
  • D8: Separate Redirect 404 module that logs aggregated 404 request (can suppress them in the default log) and allows to create redirects from them
  • D8: Separate Redirect Domain module allows wildcard and domain redirects

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 officially reached its end-of-life in 2023

CKEditor 4 officially reached its end-of-life in 2023, after more than a decade. Migration to CKEditor 5 is recommended. CKEditor 5 is available in Drupal 9.5+.

CKEditor 4 LTS with security updates available until December 2026

If for any reason you can't upgrade to CKEditor 5 and you are interested in getting security updates for CKEditor 4 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. It provides the same functionality as this module and is backwards compatible.

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

IMCE

IMCE Logo

IMCE is an image/file uploader and browser that supports personal directories and quota.

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.

Libraries API

🇺🇦

This module is maintained by Ukrainian developers.
Please consider supporting Ukraine in a fight for their freedom and safety of Europe.

The common denominator for all Drupal modules/profiles/themes that integrate with external libraries.

This module introduces a common repository for libraries in sites/all/libraries resp. sites/<domain>/libraries for contributed modules.

External libraries
Denotes libraries ("plugins") that are neither shipped nor packaged with a project on drupal.org. We do not want to host third-party libraries on drupal.org for a multitude of reasons, starting with licensing, proceeding to different release cycles, and not necessarily ending with fatal errors due to conflicts of having the same library installed in multiple versions.

Drupal 7 only has built-in support for non-external libraries via hook_library(). But it is only suitable for drupal.org projects that bundle their own library; i.e., the module author is the creator and vendor of the library. Libraries API should be used for externally developed and distributed libraries. A simple example would be a third-party jQuery plugin.

jQuery UI

A wrapper module around the jQuery UI effects library that lets module developers add swooshy, swishy effects to their code.

Views (for Drupal 7)

You need Views if

  • You like the default front page view, but you find you want to sort it differently.
  • You like the default taxonomy/term view, but you find you want to sort it differently; for example, alphabetically.
  • You use /tracker, but you want to restrict it to posts of a certain type.
  • You like the idea of the 'article' module, but it doesn't display articles the way you like.
  • You want a way to display a block with the 5 most recent posts of some particular type.
  • You want to provide 'unread forum posts'.
  • You want a monthly archive similar to the typical Movable Type/Wordpress archives that displays a link to the in the form of "Month, YYYY (X)" where X is the number of posts that month, and displays them in a block. The links lead to a simple list of posts for that month.

Views can do a lot more than that, but those are some of the obvious uses of Views.

Views for Drupal 8

Views is in Drupal 8 core! Please open all Views-related issues for your D8 sites in the Drupal core issue queue.

Views for Drupal 6

Views on Drupal 6 is supported by the D6 LTS vendors and not directly supported by the module's maintainers.

Better Exposed Filters

BEF Basic Settings

The Better Exposed Filters module replaces the Views' default single- or multi-select boxes with radio buttons or checkboxes, respectively. Description fields and Select All/None links can be added to exposed filters to make for a better user experience.

Views Filters is a powerful tool to refine the results returned by a given view. When you expose a filter, you allow the user to interact with the view making it easy to build a customized, advanced search. For example, exposing the node type field as a filter lets your site visitor limit their search queries to just blog entries. Better Exposed Filters gives you greater control over the rendering of exposed filters.

Why use this module? Because it provides a better user experience than the default option. Try telling a client that they should click on an option, then scroll to the next option and ctrl+click on it. Don't just click 'cause you'll lose your first selection. Oh, and ctrl+click again to unselect an option... Yeah, not user friendly.

People understand checkboxes and radio buttons.

What else can I do with BEF?

The BEF handbook page provides some basic recipes making exposed filters a much better user experience.

  • Add help text for each exposed filter

Google Analytics

Google Analytics for Drupal configuration page

Users must upgrade to Google Analytics 4.0.2 (Drupal 9.3+), 4.0.1 (Drupal 8+), or 7.x-2.8+ before the legacy GA service shuts down July 1st 2023. Google suggests users install the new 2.x version of Google Tag for future Google Analytics support.

Adds the Google Analytics web statistics tracking system to your website.

The module allows you to add the following statistics features to your site:

  • Single/multi/cross domain tracking
  • Selectively track/exclude certain users, roles and pages
  • Monitor what type of links are tracked (downloads, outgoing and mailto)
  • Monitor what files are downloaded from your pages
  • Custom dimensions and metrics support with tokens
  • Custom code snippets
  • Site Search support
  • AdSense support
  • Demographics and Interests support (formerly known as DoubleClick remarketing support)
  • Anonymize visitors IP address
  • DoNotTrack support (non-cached content only)
  • Drupal messages tracking
  • Modal dialog tracking (Colorbox)
  • Access denied (403) and Page not found (404) tracking
  • Cache the Google Analytics code on your local server for improved page loading times
  • Enhanced Link Attribution support
  • User ID tracking across devices
  • Changing URL fragments can be tracked as pageviews
  • Debug mode with analytics_debug.js

jQuery Update

Upgrades the version of jQuery in Drupal core to a newer version of jQuery.

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.

Module Filter

The modules list page can become quite big when dealing with a fairly large site or even just a dev site meant for testing new and various modules being considered.

Views Bulk Operations (VBO)

Views Bulk Operations (VBO)

This module provides a bulk operations functionality integrated with Views, with many additional features like clean API for developers, batching and persistent selection comparing to the Drupal 8+ core bulk form. For Drupal 7 it is the only tool providing such features.

Administration menu

Administration menu (back-end) for Drupal

The module provides a theme-independent administration interface (aka. navigation, back-end). It's a helper for novice users coming from other CMS, a time-saver for site administrators, and useful for developers and site builders.

Administrative links are displayed in a CSS/JS-based menu at the top on all pages of your site. It not only contains regular menu items - tasks and actions are also included, enabling fast access to any administrative resource your Drupal site provides.

Twig Tweak

Twig Tweak is a small module which provides a Twig extension with some useful functions and filters that can improve development experience.

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.

XML sitemap

Create a sitemap, using the sitemaps.org specification, in order to assist search engines in easily and quickly indexing your site's content, as well as potentially provide SEO benefits for your site in search results.

Pages