Upgrade CKEditor 4 to 5: 2026 Migration Guide + Checklist

TL;DR
Upgrading CKEditor 4 to 5 is not a simple version bump. It is a full migration to a completely rewritten editor with a new architecture, new plugin system, and new licensing model. CKEditor 4 reached end of life in June 2023, and five security vulnerabilities were found in it during 2024 alone. Every custom and third-party plugin must be rewritten from scratch, collaboration features like track changes and inline comments are now premium-only in CKEditor 5, and alternative editors like TinyMCE and Froala deserve serious consideration before committing to the migration.
What Does “Upgrade CKEditor 4 to 5” Actually Mean?
The word “upgrade” is misleading here, and even CKEditor’s own documentation acknowledges this. According to the official migration guide, “every single aspect has been redesigned, from installation, to integration, to features, to its data model, and finally to its API.” The documentation explicitly states that calling this an “upgrade” doesn’t fit, and that “migration” is the more accurate term.
This distinction matters. Developers who expect a typical version upgrade (swap a package, fix a few deprecation warnings, move on) will run into a wall. CKEditor 5 is a ground-up rewrite in TypeScript with a completely different architecture. There is no automatic migration tool. There is no backward compatibility layer for plugins.
If you currently rely on track changes in CKEditor 4, the path forward requires careful planning because that capability works entirely differently in CKEditor 5.
Key Terms You’ll Encounter
EOL (End of Life): CKEditor 4 reached EOL in June 2023. No more free bug fixes or security patches.
GHS (General HTML Support): A CKEditor 5 feature that lets the editor accept HTML markup it doesn’t natively support, acting as a safety net for legacy content.
MVC Architecture: CKEditor 5 uses a Model-View-Controller pattern with a custom data model, replacing CKEditor 4’s direct HTML DOM manipulation.
LTS (Long-Term Support): CKEditor 4 LTS provides extended security patches until the end of 2028, but it’s a paid offering.
Why the CKEditor 4 to 5 Move Is Urgent
Staying on CKEditor 4 is not a neutral choice. It’s an active security risk that grows worse every month.
CKEditor 4 reached its end of life in June 2023. The last free open-source version (4.22.1) contains known security issues and should no longer be used in production. Five separate security vulnerabilities were identified in CKEditor 4 during 2024, and without patches, each one remains exploitable.
For teams not ready to migrate immediately, CKEditor offers an Extended Support Model (LTS) that provides security patches until the end of 2028. But this is a paid service, not a free safety net. It buys time; it doesn’t eliminate the need to eventually move.
The Drupal ecosystem felt this pressure acutely. The CKEditor 4 Drupal module reached its own EOL on January 1, 2024. For a deeper look at what this means for teams still running CKEditor 4, our guide on CKEditor end of life options covers the available paths.
Key Differences Between CKEditor 4 and CKEditor 5
Understanding these differences is essential before you begin any CKEditor 4 to 5 upgrade planning.
Architecture
CKEditor 4 worked directly with the HTML DOM. You wrote HTML, and the editor manipulated HTML. CKEditor 5 introduces an MVC architecture with a custom data model and virtual DOM. Content goes through a conversion layer between the editor’s internal model and the HTML output.
This means content created in CKEditor 4 may be transformed, adapted, or partially lost when loaded into CKEditor 5. The official docs warn that “content not compatible with the enabled features in CKEditor 5 may be lost.”
Plugin System
This is where the migration gets painful. CKEditor 4 had a straightforward plugin architecture. CKEditor 5’s plugin system is completely different. According to CKEditor’s documentation, “any custom plugins developed for CKEditor 4 will not be compatible with CKEditor 5” and “will require rewriting them from scratch.”
The same applies to third-party plugins. Many have not been ported to CKEditor 5, and some never will be. Practitioners on the Drupal.org forums have reported being stuck on CKEditor 4 because modules like color button and panel button simply have no CKEditor 5 equivalent.
For context on how plugin ecosystems work across editors, our CKEditor plugin development guide provides a useful reference.
Configuration
CKEditor 4 offered around 300 configuration options. CKEditor 5 intentionally reduced that number. Whether you view this as simplification or loss of control depends on how heavily you customized your CKEditor 4 setup.
One common frustration practitioners report: adding plugins to CKEditor 5 requires editing the main build config file, rebuilding the editor, configuring the plugin, updating the build config again, and rebuilding once more. This workflow is significantly more complex than CKEditor 4’s approach.
Licensing
CKEditor 4 was available under three open-source licenses: GPL, LGPL, and MPL. CKEditor 5 uses GPL 2+ only. If your project uses an open-source license that isn’t compatible with GPL, CKSource can provide a no-cost alternative license. But if your project is commercial, you need a commercial license.
One user on GitHub described CKEditor 5’s pricing as “absolutely insane” for a niche forum, citing a quote of 15,000 euros per year.
Track Changes and Inline Comments
This is the change that catches many teams off guard. In CKEditor 4, track changes and inline comments were available through affordable third-party plugins. In CKEditor 5, these are premium features bundled into the Collaboration add-on, priced at $249 to $299 per month depending on billing cycle.
That’s a significant cost increase for teams that depend on collaborative editing workflows. For teams exploring alternatives, third-party track changes plugins exist for other editors at a fraction of the cost.
Migration Steps at a Glance
The official CKEditor 4 to 5 migration process involves four broad phases:
-
Back up everything. Because of the new modular architecture, this is an entirely new editor installation. Back up all your data before touching anything.
-
Audit your plugins. Every third-party and custom plugin must be evaluated. Most will need complete rewrites. Some may not have CKEditor 5 equivalents at all.
-
Migrate your content. This is potentially the most complex step. CKEditor 5’s MVC architecture means existing content may have compatibility issues. Analyze, verify, and test your data thoroughly before deleting any CKEditor 4 content.
-
Use General HTML Support as a safety net. The GHS feature lets CKEditor 5 accept HTML markup from legacy content that isn’t fully covered by native CKEditor 5 features. It won’t make everything work perfectly, but it prevents wholesale content loss.
Common Migration Pitfalls
Real-world practitioners have documented their struggles upgrading CKEditor 4 to 5, and their experiences reveal consistent pain points.
The “Completely Different Software” Problem
Ryan Cramer, creator of ProcessWire, wrote a candid evaluation stating: “CKEditor 5 is not an upgrade path for CKEditor 4, it’s a completely different software. They have thrown out everything about CKEditor 4 and started over from scratch.”
This sentiment echoes across developer communities. When vBulletin evaluated upgrading to CKEditor 5, the team determined that the resource investment was too high and chose to stay on CKEditor 4 instead.
Plugin Ecosystem Gaps
A Drupal developer writing on gorannikolovski.com described delaying his migration specifically because the CKEditor CodeSnippet module didn’t work with CKEditor 5, and his site was full of code snippets. This kind of single-plugin dependency can block an entire migration.
Data Transformation Surprises
Because CKEditor 5 uses a custom data model rather than raw HTML, content created in CKEditor 4 gets transformed during import. Inline styles, custom HTML structures, and non-standard markup can all be altered or stripped. Testing on a representative sample of your actual production content is essential, not just on a few test paragraphs.
Developer Frustration and Abandonment
One user in the CKEditor support forums reported spending several days on the migration, calling it “a frustrating experience,” and ultimately deciding to move to an alternative editor. This is not an isolated case. The CKEditor 4 to 5 upgrade has a real abandonment problem.
The Hidden Cost: Track Changes and Inline Comments
This deserves its own section because it’s the cost that most migration planning overlooks.
In the CKEditor 4 era, teams that needed track changes and inline comments could add them through third-party plugins at predictable, affordable annual rates. The editor itself was free, and the collaboration plugins were an add-on cost you controlled.
In CKEditor 5, track changes and inline comments are part of the premium ckeditor5-premium-features package. The Collaboration add-on that includes these features costs $249 to $299 per month. That’s $2,988 to $3,588 per year, and that’s on top of the base CKEditor 5 plan, which starts at $144 per month.
For teams that previously spent a few hundred dollars a year on a third-party track changes plugin, this represents a dramatic price increase.
The good news: you aren’t locked into CKEditor 5 for collaboration features. Both TinyMCE and Froala support third-party track changes and inline comments plugins that provide equivalent functionality without the premium subscription.
Alternatives to Upgrading to CKEditor 5
The CKEditor 4 to 5 upgrade is not your only option. Two alternative editors deserve serious evaluation, especially if your team relies on collaborative editing features.
TinyMCE
TinyMCE works with HTML directly, much like CKEditor 4 did. This makes content migration significantly simpler because there’s no intermediate data model to worry about. Your existing HTML content should largely work as-is.
TinyMCE has a large plugin ecosystem and supports third-party track changes for TinyMCE as well as inline comments for TinyMCE. For teams that want collaboration features without CKEditor 5’s premium pricing, this path is worth exploring.
Our guide on adding track changes to TinyMCE walks through the integration step by step.
Froala
Froala is lightweight, fast, and has transparent pricing. Like TinyMCE, it works with HTML output and supports third-party track changes for Froala and inline comments for Froala.
Our Froala review covers its strengths and gaps in more detail.
When to Consider Alternatives
Consider switching away from CKEditor entirely if:
- Your team heavily customized CKEditor 4 and the plugin rewrite effort is prohibitive
- You need track changes or inline comments and want to avoid CKEditor 5’s premium pricing
- Your content is standard HTML without exotic markup that would require GHS workarounds
- You want a simpler, more predictable migration path
Stay with CKEditor 5 if:
- You’re already invested in the CKEditor ecosystem and have budget for premium features
- You need real-time collaborative editing (CKEditor 5’s real-time collaboration is genuinely strong)
- Your organization has the engineering resources for a full migration
Making Your Decision
The upgrade from CKEditor 4 to 5 is one of the more consequential decisions a development team can face with their editor infrastructure. It touches security, cost, developer time, plugin compatibility, and content integrity all at once.
Whatever path you choose, don’t wait. CKEditor 4 without LTS support is a ticking clock. Every month brings new potential vulnerabilities in an editor that will never be patched again.
If collaboration features like track changes and inline comments are central to your workflow, compare pricing and capabilities across your options before committing to CKEditor 5’s premium tier. The cost difference over a few years can be substantial.
Have questions about migrating your collaboration features? Get in touch to discuss your specific setup.
FAQ
Is upgrading CKEditor 4 to 5 a simple version bump?
No. CKEditor 5 is a complete rewrite with a different architecture, plugin system, data model, and licensing structure. Even CKEditor’s own documentation calls it a migration, not an upgrade. There is no automatic upgrade tool.
What happens to my CKEditor 4 plugins when I migrate to CKEditor 5?
All custom plugins must be rewritten from scratch. Third-party plugins may not have CKEditor 5 equivalents. You should audit every plugin your implementation uses before beginning the migration.
Is CKEditor 4 still safe to use?
Not without the paid LTS (Long-Term Support) plan. The last free version (4.22.1) contains known security vulnerabilities, and five more were discovered in 2024. The free open-source version receives no patches.
How much does CKEditor 5 cost?
CKEditor 5’s Essential plan starts at $144 per month. The Professional plan costs $405 per month. If you need track changes and inline comments, the Collaboration add-on adds $249 to $299 per month on top of that.
Are track changes and inline comments free in CKEditor 5?
No. These are premium features in CKEditor 5 that require the Collaboration add-on subscription. In CKEditor 4, equivalent functionality was available through affordable third-party plugins.
What is General HTML Support (GHS) in CKEditor 5?
GHS is a feature that lets CKEditor 5 preserve HTML markup from legacy content even when CKEditor 5 doesn’t have a native feature for that markup. It acts as a safety net during migration but doesn’t provide full editing support for that content.
Can I migrate from CKEditor 4 to TinyMCE instead of CKEditor 5?
Yes. TinyMCE uses HTML-based output similar to CKEditor 4, which means content migration is generally simpler. TinyMCE also supports third-party track changes and inline comments plugins, avoiding CKEditor 5’s premium pricing for those features.
How long do I have before CKEditor 4 becomes completely unsupported?
The free version is already unsupported as of June 2023. The paid CKEditor 4 LTS plan provides security patches until the end of 2028. After that, CKEditor 4 will have no support of any kind.