Embedding content from your site within a formatted text field with CKEditor.
Image
Inline images can be used in your content.
Images can be uploaded to the file system via CKEditor.
Drag and drop images are supported by default.
Decide if you want to allow using bare images in WYSIWYG, or use media everywhere. It's not easy to change.
The standard profile configures Basic HTML with Images, but many developers replace that with Media.
Media
Embedded media is well supported in Drupal.
It's the best way to embed images, video, even document thumbnails and other kinds of Media content.
There are different CKEditor features between Image and Media, and drag and drop doesn't work.
Issue: Allow CKEditor styles for <drupal-media>
Entity Embed
Embed any entity in CKEditor with Entity Embed.
Entity Embed Drupal 11 support.
oEmbed
media.oembed.provider_repository service pulls data from https://oembed.com/providers.json
To create a media type, a media source needs to be defined, see details in the change record.
Use oEmbed Providers to enable additional media type sources.
URL Embed can embed oEmbed content.
Proposal for a Media Widget field that can support inline and remote resources.
HTML
With source editing allowed, and html tags unrestricted, you can paste in embed codes containing scripts or iframes.
CKEditor5 HTML Embed provides a nice UI to separate embed code from your content.
However, if content entry needs to be secured, those have to be limited.