Advertising sustains the DA. Ads are hidden for members. Join today

Comparison of contributed modules

Comparison of WYSIWYG Modules

Last updated on
30 April 2025

Drupal 7 will no longer be supported after January 5, 2025. Learn more and find resources for Drupal 7 sites

WYSIWYG is an acronym for What You See Is What You Get and describes a client-side content-editing system in which the final presentation of the output is displayed instead of raw source code. Drupal 7 core does not contain a WYSIWYG editor, but many site builders chose to implement one because it allows users to edit site content without knowing any code.

There are several solutions for WYSIWYG on Drupal that either integrate a specific editor or provide a general API for integrating multiple editors.

CKEditor

The CKEditor module provides integration specifically with the CKEditor WYSIWYG editor.

Pros

  • Per text format editor profiles.
  • Popular with a large number of integrations and extensions available via other contrib modules.
  • Fully customizable toolbar.
  • Supports additional editor and plugin customization out of the box including language detection, font formats, custom formatting, paste as plain text, HTML entities and spellchecker.
  • Supports CKFinder for image handling in addition to other contrib media solution.

Cons

  • Currently unsupported and only compatible with versions of CKEditor 4 with known security vulnerabilities.
  • Requires manual XSS filter configuration.

CKEditor 4 LTS (Long Term Support)

The CKEditor 4 LTS module is an official fork of the CKEditor module which allows for the use of a commercial version of CKEditor 4 that is supported past its end of life.

Pros

  • All of the same benefits as the CKEditor module.
  • Provides a seamless upgrade path from the CKEditor module with official support. Continue to run a supported version of CKEditor 4 without any changes.

Cons

  • All of the same drawbacks as the CKEditor module.

Editor

The Editor module backports the Drupal 8+ core Editor and CKEditor modules.

Editor brings a host of benefits that were previously only available in Drupal 8+ such as image embedding with captions and alignment, file usage tracking (including block body support), advanced Cross-Site Scripting (XSS) filtering and native dialog support.

Pros

  • Included in Drupal 8+ core.
  • Supports a variety of editors and allows for different editors per text format and custom plugin settings per editor.
  • Includes support for CKEditor 4 or CKEditor 4 LTS (with commercial license) out of the box and optionally CKEditor 5 as an add-on (with commercial license).
  • Fully customizable toolbar.
  • Includes a comprehensive suite of plugins and support for a number of popular contrib modules.
  • Automatically generated HTML restrictions.
  • Automatic upgrade path from CKEditor 4 to CKEditor 5 on Drupal 7. Similar data format, plugins and APIs allows for a straightforward upgrade to Drupal 8+.

Cons

  • Newer module and a smaller userbase with fewer guides and third-party integrations.
  • No automatic upgrade path from existing WYSIWYG modules.

WYSIWYG

The WYSIWYG module integrates several popular editors into Drupal. The module's configuration page provides a list of supported WYSIWYG editors and includes instructions documenting where to download them and how they can be installed. Available editors are outlined on the Supported Editors Matrix.

Pros

  • Supports a variety of editors.
  • Per text format editor profiles with option for user-specific customizations.
  • Popular with a large number of integrations and extensions available via other contrib modules.
  • Supports basic editor plugin customization out of the box including toolbar location, editor resizing, paste as plain text and advanced link options.

Cons

  • Currently only supports two editors (CKEditor 4 and TinyMCE 4) which are themselves unsupported and insecure.
  • Lacks editor-specific advanced features.
  • Limited customization of the editor toolbar.
  • Requires manual XSS filter configuration.
  • Requires a separate image handling solution.

Help improve this page

Page status: Not set

You can: