Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: Charts 5.2.4 Minor update available for module charts (5.2.4). Release: Tagify 2.0.3 Minor update available for module tagify (2.0.3). Release: Tagify 1.2.54 Minor update available for module tagify (1.2.54). Release: ECA: Event - Condition - Action 3.1.8 Minor update available for module eca (3.1.8). Release: GoogleTag Manager 2.0.5 Minor update available for module gtm (2.0.5). Release: GoogleTag Manager 2.0.4 Minor update available for module gtm (2.0.4). Release: X-Frame-Options Allow-From webvisor.com 2.0.4 Minor update available for module xframe_allow_webvisor (2.0.4). Release: Commerce ML Starter 2.0.5 Minor update available for module cmlstarter (2.0.5). Usage Milestone: Easy Email Module easy_email crossed 10,000 active installs. Security Coverage: Menu Link By Default Module menu_link_by_default now has official Drupal security advisory coverage.

Media duplicates

2,370 sites Security covered Drupal 9–11
View on drupal.org

This module helps identify and prevent duplicate media files from being uploaded to your Drupal site. It can generate reports of existing duplicates or actively block new duplicate uploads, with options to control how strictly duplicates are handled.

This module allows the comparison, detection and restriction of duplicate media
entities within a site.

Cleaning up the duplicate media items is currently outside the scope of this module. That's because it's a hard task. Depending on media usage in fields, usage across translations, usage in token embedded media, usage in config (blocks, etc).

Installation

  • To install this module, composer require it, or place it in your modules folder and enable the module.
  • Generate initial checksums if you have existing media items. You can use the form linked from the status page or run the drush media-duplicates:checksums:rebuild command. (Currently only supports Drush 9+)

Usage

  • Install this module as early as possible in your development process to reduce any technical debt you later have to clean up.
  • Module allows progressive enhancement by having settings that
    • Allow you to generate a report but don't restrict duplicates.
    • Restrict new duplicates but still allow you to save existing.
    • Restrict all duplicates, both new and existing.
  • Use in conjunction with Entity Usage to help find where duplicates are used and consolidate.

Plugin architecture

This module allows media type developers to implement a MediaDuplicatesChecksum plugin to integrate with this module.

Alternatives

Depends on

Dependencies of the latest stable release

  • media Drupal core

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
3
Tracked since
Mar 2026
Latest release
5 months ago
Releases (12 mo)
3 ▲ from 0
Maintenance
Active

Release Timeline

Releases

Version Type Core Release date
2.0.4 Stable 9–11 Mar 19, 2026
3.0.0-alpha1 Pre-release 11 Mar 19, 2026
3.x-dev Dev 11 Mar 17, 2026