Add functionality and customize your Drupal application with thousands of projects contributed by our amazing community.
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...