This project is not covered by Drupal’s security advisory policy.
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
- Install via Composer:
composer require drupal/instagram_embed - Enable:
drush en instagram_embed - 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.
- 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.
Project information
- Project categories: Media
2 sites report using this module
- Created by morovinger on , updated
This project is not covered by the security advisory policy.
Use at your own risk! It may have publicly disclosed vulnerabilities.
Releases
1.0.2
released 17 June 2026
Works with Drupal: ^10.3 || ^11 || ^12
Editor widget styling fix + Drupal 12 support
Install: