Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: Facets 3.0.6 Minor update available for module facets (3.0.6). Release: Facets 3.0.5 Minor update available for module facets (3.0.5). Release: Flag 5.1.0 Minor update available for module flag (5.1.0). Release: Random Name 1.2.3 Minor update available for module random_name_chooser (1.2.3). Release: Text with summary 1.0.0 Initial release available for module text_with_summary (1.0.0)! Release: Ágora Transparency Theme 1.0.7 Minor update available for theme agora_theme (1.0.7). Release: Automated Revision Log 1.1.3 Minor update available for module ai_revision_log (1.1.3). Release: Views HTTP Client 1.0.4 Minor update available for module views_http_client (1.0.4). Usage Milestone: Simplify Module simplify crossed 10,000 active installs. Module Revived: ЮKassa (YooMoney) для Drupal v7 2.6.1 Module yoomoney_api updated after 7 months of inactivity (2.6.1).

CKEditor Media Embed Plugin

4,417 sites Security covered Drupal 10–11
View on drupal.org

This module enhances CKEditor by allowing you to embed media from various external services, such as videos and tweets. It offers two methods: directly embedding the HTML or using an oembed tag that converts to the embed on display. This functionality can be applied to content fields or link fields.

Drupal 11

The dev branch of 2.x (2.x-dev) is in development and currently supports Drupal 11. This will remain in dev until Drupal 11 is released but testing on both 10 and 11 are welcome. Support for 9 is being dropped.

About

The CKEditor Media Embed module adds support for CKEditor plugins Media Embed, Semantic Media Embed, and Auto Embed to Drupal core's CKEditor.

Uses

Embed media resources
During content creation the author may add embed resources (videos, images, tweets, etc.) hosted by other services (called the "content providers") in content via CKEditor. By default the plugin uses the Iframely proxy service which supports over 1715 content providers such as Youtube, Vimeo, Twitter, Instagram, Imgur, GitHub, and Google Maps.
Media resource field
Provides a link field formatter that will render the link using the configured oembed media provider

Provider

Only a single provider may be configured at a time, however, it is recommended to use a proxy service like Iframely or Noembed so that many different media providers can be supported. You may also use a specific media provider so the embeds are limited to the embed types it supports.

Provider URL
The service provider is configured on the CKEditor Media Embed plugin settings page.
The service provider is configured using a single url as the provider with a {url} and {callback} token.
Service provider URL examples
Iframely - //iframe.ly/api/oembed?url={url}&callback={callback}&api_key=MYAPITOKEN
Noembed - //noembed.com/embed?url={url}&callback={callback}
embed.ly - //api.embed.ly/1/oembed?url={url}&callback={callback}&key=MYAPITOKEN
Many others

Two different approaches

Two buttons as supplied with the module. The "Media Embed" button and the "Semantic Media Embed" this related to the two different approaches used by the CKEditor plugins.

Media Embed
Inserts the retrieved HTML from provider directly into the field and it is the HTML that is saved to the database.
Semantic Media Embed
Inserts the <oembed> tag into the field and is saved to the database instead of the embed HTML. We use a filter to transform the <oembed> tag to the media embed html on render.

In order to use the Semantic Embed the "Convert Oembed tags to media embeds" filter must be enabled on the text format that uses it.

Autoembed

Depending on which option is selected "Media Embed" or "Semantic Media Embed" when a media URL is inserted in to the field it will automatically be replaced with the corrected media embed automatically.

Installation

Install the module per normal then follow the instructions for installing the CKEditor plugins below.

Install CKEditor plugins

Easiest

  1. Install Drush
  2. Enable CKEditor media embed module.
  3. Run drush ckeditor_media_embed:install.

Harder (Not recommended)

  1. Download the Full “dev” package for CKEditor.
  2. Unzip the package and place its contents into DRUPAL_ROOT/libraries/ckeditor.
  3. Clear the cache
  4. Run drush config-set ckeditor_media_embed.settings plugins_version_installed [INSTALLED VERSION OF PLUGINS]

Hardest

  1. Download the following plugins:
  1. Unzip and place the contents for each plugin in the the following directory:
  • DRUPAL_ROOT/libraries/ckeditor/plugins/PLUGIN_NAME
  1. Clear the cache
  2. Run drush config-set ckeditor_media_embed.settings plugins_version_installed [INSTALLED VERSION OF PLUGINS]

Configuration

WYSIWYG

  • Go to the 'Text formats and editors' configuration page: `/admin/config/content/formats`, and for each text format/editor combo where you want to embed URLs, do the following:
    • Drag and drop the 'Media Embed' or the 'Semantic Media Embed' button into the Active toolbar.
    • If the text format uses the 'Limit allowed HTML tags and correct faulty HTML' filter, use the 'Semantic Media Embed' and read the instructions for the 'Semantic Media Embed' below.
Semantic Media Embed

If you are using the 'Semantic Media Embed' button be sure to do the following:

Field formatter

The field formatter allows link fields to be rendered via the configured oembed service provider.

  • The field formatter allows link fields to be rendered via the configured oembed service provider.
  • Select the "Oembed element using CKEditor Media Embed provider" format for the link field you wish.

Additional plugins

This module also includes all additional non-core depdencies for the Media Embed CKEditor plugin.

Media Embed vs Semantic Media Embed

Similar modules

Depends on

Dependencies of the latest stable release

  • ckeditor5 Drupal core

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
5
Tracked since
Aug 2025
Latest release
5 months ago
Releases (12 mo)
2 ▼ from 3
Maintenance
Active

Release Timeline

Releases

Version Type Core Release date
2.0.6 Stable 10–11 Mar 13, 2026
2.0.5 Stable 10–11 Nov 16, 2025
2.0.4 Stable 10–11 Aug 25, 2025
8.x-1.14 Stable 8–10 Aug 23, 2025
2.0.3 Stable 10–11 Aug 23, 2025