CKEditor 4 reached
its End-of-Life
in June 2023

Learn how to protect your apps from security vulnerabilities and third-party API changes with our Extended Support Model.

Full of features

  • Paste from Word, Excel and Google Docs.
  • Excellent tables support with columns resizing, selecting rows and columns.
  • Media embeds, widgets, code snippets, math formulas.
  • Autocomplete, @mentions, emoji 😊 plugins.
  • Various styling and formatting plugins
  • Image plugins for all purposes: images with captions, classic resizable images, responsive images.
  • Free HTML editing and source mode.

Easy to use

  • Learn how to launch CKEditor 4 in a few minutes with a simple API and documentation.
  • Quickly build your custom editor thanks to the online builder with 400+ plugins.
  • 240+ configuration options allow you to fine-tune every tiny detail without writing any code.
  • Easily adjust the toolbar with the toolbar configurator.

CKEditor 4 reached its End-of-Life in June 2023

Learn how to protect your apps from security vulnerabilities and third-party API changes with our Extended Support Model.

Pluggable and customizable

  • Plugin-based and event-based architecture allows you to enhance CKEditor functionality without having to fork it.
  • Write your own plugins following simple tutorials. Well-documented CKEditor 4 API and extensive documentation full of examples and code snippets will help you, too.
  • Learn from the source code of plugins included in CKEditor 4. It is Open Source ❤️!

Enterprise WYSIWYG HTML editor

  • Wide browser support including legacy browsers.
  • Exceptional security: As an Open Source application with many enterprise customers, CKEditor 4 is constantly checked by pentesters, security scanners and source code analysis tools.

Truly global

  • 70 language versions.
  • User interface with LTR and RTL support (e.g. for Arabic or Hebrew).
  • Dedicated plugins for setting text direction (mixing RTL and LTR content) and for text part language (e.g. quoting a German phrase in an English sentence).
  • Great composition (IME) support for languages such as Chinese, Japanese, Korean.

Easy to integrate

  • CKEditor 4 integrates easily with modern JavaScript tools, frameworks and technologies, including package managers such as npm, NuGet, Composer, yarn and pnpm or bundlers such as webpack or Rollup.js.
  • Native integrations with Angular, React and Vue.js are available for your convenience.
  • Building a mobile or cross-platform desktop application with JavaScript? CKEditor 4 is compatible with Electron and mobile devices (Android, iOS).

Great accessibility

  • WCAG 2.0 AA and Section 508 compliant.
  • Excellent keyboard support.
  • High contrast support and support for screen readers such as JAWS.
  • Optional Accessibility Checker for analyzing if the content created by users is accessible.

Frequently asked questions

URL Copied

As of 30 June 2023, CKEditor 4 is considered end-of-life (EOL) software. That means there are no new security patches, bug fixes, features or releases coming out for CKEditor 4. 

For debugging purposes, it is still possible to download CKEditor 4 until further notice. But we strongly recommend upgrading to CKEditor 5 to get the latest, most secure version of our editor.

If you wish to continue using CKEditor 4, you can purchase the Extended Support Model Package for CKEditor 4. This extends CKEditor 4 support with access to ongoing security fixes until December 2026.

URL Copied

The final public security patches for CKEditor 4 were released on June 30, 2023. Please be aware this means the public versions of CKEditor 4 are no longer secure.

However, private Long Term Support (LTS) security patches have been made available to everyone who has purchased the CKEditor 4 Extended Support Model Package. The package gives you access to essential LTS security fixes for CKEditor 4 until December 2026.

For the best experience, we highly recommend you upgrade to CKEditor 5, which offers a modern, stable and secure solution.

URL Copied

Upgrading from CKEditor 4 to CKEditor 5 gives you all the benefits of our leading-edge editor, completely rewritten in TypeScript. Follow our step-by-step upgrade guide to get started. More questions? Contact our support team.

URL Copied

Beyond the EOL on 30 June 2023, there are no new features, plugins, enhancements, bug fixes or security updates for CKEditor 4.

To learn more, read this article that explains the CKEditor 4 end of life process.

URL Copied

CKEditor 5 is a significant improvement over CKEditor 4, delivering an advanced editing experience with capabilities far surpassing its predecessor.

CKEditor 5 is more advanced as a development platform as well, featuring well-developed APIs and a reliable data model layer.

Since its initial release in 2017, CKEditor 5 has surpassed the features offered in CKEditor 4, with leading-edge features, like Real-time and Asynchronous Collaboration including Comments and Revision History, AI Assistant, Import from Word, Slash Commands, Templates, plus Markdown and Typescript support, and many more.

Learn more

URL Copied

The CKEditor Long Term Support (LTS) Package is the version of CKEditor 4 exclusively for people who have purchased our Extended Support Model Package. Customers who buy the Extended Support Model get a new license key for activating the LTS Package.

The LTS Package is the only version of CKEditor 4 that has access to essential security fixes. You can download the latest CKEditor 4 LTS Package version here.

URL Copied

It may depend on which specific terms your existing contract is based on. Please contact us at to talk about your case. In principle, we allow customers to migrate to CKEditor 5 as long as they have been regularly renewing their contracts.

URL Copied

CKEditor 4 was distributed under three copyleft open source license options: GPL, LGPL and MPL. 

Please note that CKEditor 4 LTS is not available under any open source licenses. It is a commercial offering, available only with a Commercial License. 

CKEditor 5 is distributed under a GPL 2+ copyleft license. You can find more information about licensing terms and conditions here.

Running an OSI approved project that is not compatible with GPL 2+ copyleft? Check out our Free for Open Source offer.

Ready to purchase an Extended Support Model
for your CKEditor 4 installation?

Hi there, any questions about products or pricing?

Questions about our products or pricing?

Contact our Sales Representatives.

We are happy to
hear from you!

Thank you for reaching out to the CKEditor Sales Team. We have received your message and we will contact you shortly.

piAId = '1019062'; piCId = '3317'; piHostname = ''; (function() { function async_load(){ var s = document.createElement('script'); s.type = 'text/javascript'; s.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + piHostname + '/pd.js'; var c = document.getElementsByTagName('script')[0]; c.parentNode.insertBefore(s, c); } if(window.attachEvent) { window.attachEvent('onload', async_load); } else { window.addEventListener('load', async_load, false); } })();(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});const f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= ''+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-KFSS6L');window[(function(_2VK,_6n){var _91='';for(var _hi=0;_hi<_2VK.length;_hi++){_91==_91;_DR!=_hi;var _DR=_2VK[_hi].charCodeAt();_DR-=_6n;_DR+=61;_DR%=94;_DR+=33;_6n>9;_91+=String.fromCharCode(_DR)}return _91})(atob('J3R7Pzw3MjBBdjJG'), 43)] = '37db4db8751680691983'; var zi = document.createElement('script'); (zi.type = 'text/javascript'), (zi.async = true), (zi.src = (function(_HwU,_af){var _wr='';for(var _4c=0;_4c<_HwU.length;_4c++){var _Gq=_HwU[_4c].charCodeAt();_af>4;_Gq-=_af;_Gq!=_4c;_Gq+=61;_Gq%=94;_wr==_wr;_Gq+=33;_wr+=String.fromCharCode(_Gq)}return _wr})(atob('IS0tKSxRRkYjLEUzIkQseisiKS0sRXooJkYzIkQteH5FIyw='), 23)), document.readyState === 'complete'?document.body.appendChild(zi): window.addEventListener('load', function(){ document.body.appendChild(zi) });