Drupal is a registered trademark of Dries Buytaert
drupal 11.3.7 Update released for Drupal core (11.3.7)! drupal 11.2.11 Update released for Drupal core (11.2.11)! drupal 10.6.7 Update released for Drupal core (10.6.7)! drupal 10.5.9 Update released for Drupal core (10.5.9)! cms 2.1.1 Update released for Drupal core (2.1.1)! drupal 11.3.6 Update released for Drupal core (11.3.6)! drupal 10.6.6 Update released for Drupal core (10.6.6)! cms 2.1.0 Update released for Drupal core (2.1.0)! bootstrap 8.x-3.40 Minor update available for theme bootstrap (8.x-3.40). menu_link_attributes 8.x-1.7 Minor update available for module menu_link_attributes (8.x-1.7). layout_paragraphs 2.1.3 Minor update available for module layout_paragraphs (2.1.3). ai 1.3.3 Minor update available for module ai (1.3.3). ai 1.2.14 Minor update available for module ai (1.2.14). node_revision_delete 2.0.3 Minor update available for module node_revision_delete (2.0.3). moderated_content_bulk_publish 2.0.52 Minor update available for module moderated_content_bulk_publish (2.0.52). klaro 3.0.10 Minor update available for module klaro (3.0.10). klaro 3.0.9 Minor update available for module klaro (3.0.9). layout_paragraphs 2.1.2 Minor update available for module layout_paragraphs (2.1.2). geofield_map 11.1.8 Minor update available for module geofield_map (11.1.8). editoria11y 2.2.22 Minor update available for module editoria11y (2.2.22).

Description

Embeds Instagram posts, reels, and IGTV videos inside CKEditor 5 content via a native toolbar button and balloon form. No build step, no external proxy, no API key required.

Features

  • Adds an Instagram Post button to the CKEditor 5 toolbar.
  • Balloon form accepts an Instagram URL (post, reel, or TV) and validates it before inserting.
  • Optional background color toggle (configurable per embed).
  • Stores a lightweight placeholder in the database; a text filter converts it to the standard Instagram embed blockquote on render.
  • Strict server-side URL validation prevents XSS. No user-controlled markup or JavaScript is emitted.
  • Uses Instagram's native embed.js directly — no external proxy service dependency.
  • No build step: uses the CKEditor 5 DLL-compatible plugin format.

Installation & Configuration

  1. Install via Composer: composer require drupal/instagram_embed
  2. Enable: drush en instagram_embed
  3. Go to Configuration → Content authoring → Text formats and editors, edit the desired format (e.g. Full HTML):
    • Drag the Instagram Post button into the CKEditor 5 toolbar.
    • Enable the Instagram Embed filter.
  4. Save the format.

Additional Requirements

Drupal 10.3+ or 11. Only core modules required: filter and ckeditor5.

Similar projects

Ckeditor Instagram Embed — CKEditor 4 only, no stable release, appears unmaintained since 2024.

CKEditor Media Embed Plugin — generic oEmbed via external Iframely proxy; not Instagram-specific.

This module is a lightweight, zero-dependency alternative focused solely on Instagram with native CKEditor 5 support and per-embed background styling.

Activity

Total releases
1
First release
Apr 2026
Latest release
13 hours ago
Release cadence
Stability
100% stable

Releases

Version Type Release date
1.0.0 Stable Apr 16, 2026