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

55,438 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.

Rules Link

This module lets you create links which trigger arbitrary functionality with the help of Rules. Example use cases Publish/Unpublish content Subcribe users to current group Mark nodes, comments (as...

Block List Override

Remove unnecessary blocks from the block list for better system performance. Drupal provides an extensive list of blocks, many of which you may never use anywhere, and others you won't use in...
Categories: Content display, Developer tools

Media PDF Thumbnail

The module provides an image field formatter for the thumbnail field of Media entities. The default thumbnail image will be replaced by an image generated from a pdf file referenced in any file...
Categories: Media

System stream wrapper

Provides stream wrappers to access module, theme, profile, and library files and directories. Note these stream wrappers are read-only as none of these files or directories should be write-able by...
Categories: Developer tools, Media

Backports

Your favourite feature didn't made it into 8.0.0? Don't be sad, get it into 8.1.x and use it today as part of the backports module! Features Currently the following core features are backported: [...

CKEditor 5 - Font Plugin (Text Color, Background Color)

CKEditor 5 - Font Plugin (Text Color, Background Color) Integrates the Font plugin directly inside CKEditor 5 for Drupal 9 and 10. Allows to control the text and background color directly inside...
Categories: Administration tools, Content editing experience

Configuration Provider

This module is not useful on its own, and should only be installed if it's required by another module. Configuration Provider facilitates updating configuration from installed modules....
Categories: Administration tools, Developer tools

Views Remote Data

Provides a way to query remote APIs using Views and display the data using fields, or as rendered (unsaved) entities. Intended to be used by External Entities or other modules to display remote...

AI Dashboard

AI Dashboard provides a centralized, user-friendly interface for configuring and managing all AI-powered functionality in your Drupal site. This module replaces the existing AI configuration...
Categories: Artificial Intelligence (AI)

Smart SQL ID Map

This module provides a work-around for [#2845340]. It contains an id_map migration plugin which can be used even for migrations with very long plugin ID (e.g. derived migrations). If you have a...

Shadowbox

Note: As of October 23, 2023, this project appears to no longer be supported. If you are a project maintainer and you feel this warning must be removed, please reply to [#3395937]. Shadowbox is a...

PDF generator API

This module provides an API for generating PDF. The printable module uses this module to generate PDF.
Categories: Content display, Import and export, Integrations

Configuration Normalizer

Configuration Normalizer processes configuration to prepare it for comparison. Developer usage This module can be used to wrap any configuration storage, creating a read-only version of the storage...
Categories: Administration tools, Developer tools

Caption Filter

This module provides a very simple caption input filter that can be used to attach captions to an image or embeddable object. Similar to the WordPress caption shorthand, the filter came for the...
Categories: Content display, Content editing experience

Node read time

Node read time is a module that provides an extra field for content types, which displays to the users the time it will take for them to read a node. This field takes into consideration all the...
Categories: Content display, Content editing experience, User engagement

CKEditor Div Manager

Introduction This module integrates the Div Container Manager CKEditor plugin for Drupal 8/9. The plugin adds the ability to group content blocks under a div element as a container, with styles and...
Categories: Content editing experience, Integrations

Config Snapshot

Config Snapshot enables snapshotting of extension-provided configuration. It's used by Configuration Synchronizer to support updating configuration provided by modules, themes, and the install...
Categories: Developer tools

Layout Options

This module provides a Layout plugin that allows configuration options to easily be added to layouts using YAML files and LayoutOption plugins. In most cases, using no code just YAML files. Project...
Categories: Content display, Content editing experience

UI Patterns Settings

Introduction UI Patterns Settings extends the functionality of UI Patterns. For UI Patterns Settings 2.x for UI Patterns 1.x, the module provided additional support for managing props. This...

HTML Purifier

HTML Purifier is a standards-compliant HTML filter library. HTML Purifier will not only remove all malicious code (better known as XSS) with a thoroughly audited, secure yet permissive whitelist,...

Config Merge

Config Merge provides a method for three-way merging of configuration items and a Config Filter plugin that safely merges configuration updates into the site's active configuration. Use case Config...
Categories: Administration tools, Developer tools

Entity Rules

Entity Rules provides a page for selecting and creating Rules components that will be executed when different operations happen to an Entity of a particular bundle. This provides an alternative...
Categories: Administration tools, Content editing experience, Automation

Menu Link Weight

This module replaces the standard numeric weight dropdown widget for menu links in the node form with a tabledrag widget that lists all children for the selected parent. Functionality: Upon...
Categories: Administration tools, Content editing experience, Site structure

Timefield

Timefield is a Field API field for storing simple non-timezone time values, with an optional end time, utilizing a simple JQuery timepicker widget for input. Normally, you will want to use a Date...

Views Merge Rows

Sometimes when you use relationships in views you get a number of rows with the same content in some of the fields. This results in a huge table (grid, list, etc.) that affects the usability of...

Pages