Media entity provides a 'base' entity for media. This is a very basic entity
which can reference to all kinds of media-objects (local files, YouTube
videos, Tweets, Instagram photos, ...). Media entity provides a relation between
Drupal and the media resource. You can reference to/use this entity within any
other Drupal entity.

This module attempts to provide the base storage component for the Drupal 8
media ecosystem.

Media Entity will be in core

This module is being moved to Drupal 8 core! The base API will be added to 8.4.x so that contrib maintainers and module developers can start porting their modules to the new API. In future releases (8.5.x, etc), more features and UX improvements will be added and the module will then be considered ready for general usage. You can follow the full roadmap and related issues here.

Compatibility restrictions

Starting with Drupal 8.4 there is a Media module in Drupal core, which includes the base API from Media Entity, as well as most of the functionality provided by Media Entity Image and Media Entity Document.

If your site currently uses Media Entity, in order to move to the Drupal core Media solution in the future, you will need to upgrade to Media Entity 8.x-2.x first and then follow the upgrade path. More information on this upgrade path can be found in the related issue, and will be also updated here when the upgrade path is ready for testing.

Note that in order to start using the Drupal core's Media module, all provider modules defining media source plugins will need to be upgraded as well. There is an issue that keeps track of the upgrade status of the most common contributed modules.

If you need to upgrade Drupal core to 8.4.x but you can't yet upgrade Media Entity 8.x-2.x due to some contrib modules not having 2.x branches, you still can use Media Entity 8.x-1.x with Drupal 8.4.x, as long as the core Media module is not enabled. If you can, consider helping with the upgrade of contrib modules. Media Entity 8.x-1.x will become unsupported at some point in the future (as more sites move over to the core Media module).


Our current development focus can be seen in the roadmap issue.

Development is generally done via GitHub pull requests.
Every pull request should be linked to an issue in issue queue and vice-versa.

If you prefer usual patch-based workflow feel free to submit a patch. We started
using GitHub mostly for easier review process. However, there are no strong opinions
about that. Any contribution in any shape or form will be treated equally.

Media provider modules

There are already several media provider modules that extend functionality of
Media entity:

Other modules that integrate with media entity

Media entity 8.x-1.0-beta2 to 8.x-1.0 update instructions

We started depending on the Entity API module. In order for update to go smoothly please make sure that the Entity API >= 8.x-1.0-alpha3 is installed before updating Media entity.


Get in touch


Initial development of Media entity and media provider plugins was partly sponsored by, part of Outbox AXS.

Supporting organizations: 
Initial development and maintenance.
Initial development.
Development and maintenance.
Development and maintenance.

Project Information