Skip to content
CKEditor 5 editing engine.
JavaScript Other
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.


Type Name Latest commit message Commit time
Failed to load latest commit information.
src Docs: Fixed invalid code sample. Closes ckeditor/ckeditor5#6351. Apr 27, 2020

CKEditor 5 editing engine

This repository was moved

The package was moved to the main repository.

npm version Dependency Status devDependency Status

The CKEditor 5 editing engine implements a flexible MVC-based architecture for creating rich text editing features.

Architecture overview

  • Custom data model. CKEditor 5 implements a tree-structured custom data model, designed to fit multiple requirements such as enabling real-time collaboration and complex editing features (like tables or nested blocks).
  • Virtual DOM. CKEditor 5's editing engine features a custom, editing-oriented virtual DOM implementation that aims to hide browser quirks from your sight. No more contentEditable nightmares!
  • Real-time collaborative editing. The editor implements Operational Transformation for the tree-structured model as well as many other mechanisms which were required to create a seamless collaborative UX. Additionally, we provide cloud infrastructure and plugins enabling real-time collaborative editing in your application! Check the collaboration demo.
  • Extensible. The entire editor architecture was designed for maximum flexibility. The code is event-based and highly decoupled, allowing you to plug in or replace selected pieces. Features do not directly depend on each other and communicate in standardized ways.
  • Schema-less core. The core makes minimal assumptions and can be controlled through the schema. This leaves all decisions to plugins and to you.
  • Modular architecture. Not only can the core modules be reused and recomposed but even the features were implemented in a highly granular way. Feel like running a headless CKEditor 5 with a couple of features in Node.js? Not a problem!
  • Framework for building rich-text editors. Every use case is different and every editor needs to fulfill different goals. Therefore, we give you the freedom to create your own editors with custom-tailored features and UI.
  • Heavily tested from day one. CKEditor 5 comes with 3x more tests than React itself. All packages have 100% code coverage.
  • 8+ years of support. It is not yet another framework to be gone next year or a hyped proof-of-concept to fail in a real-life scenario. We have over 15 years of experience in creating rich text editors and invested over 4 years in designing and building your next future-proof rich text editor of choice.


For a general introduction see the Overview of CKEditor 5 Framework guide and then the Editing engine architecture guide.

Additionally, refer to the @ckeditor/ckeditor5-engine package page in CKEditor 5 documentation for even more information.


Licensed under the terms of GNU General Public License Version 2 or later. For full details about the license, please check the file or

You can’t perform that action at this time.