You're trying to find the right rich text editor (RTE), and you know a key requirement is collaboration. But as you begin to read more about collaboration features, things get confusing fast. Some RTE creators talk about "real-time editing," while others focus on "document workflows." Suddenly, you're drowning in jargon. What started as a search for an RTE with collaboration became an overwhelming research project.
To help you avoid this, we've created this series on collaboration features in rich text editors. This introductory guide walks you through what's available when it comes to collaboration in the some of the most popular RTEs: TinyMCE, CKEditor, Froala, and Tiptap. It compares what each feature does and doesn’t do in each editor.
The next few articles in this series compare the implementation processes for these rich text editors side by side, so you can see exactly what a developer must go through when working with your chosen RTE. And lastly, we examine what project and application leaders should expect when integrating their chosen RTE - how long does it take, what is the effort involved, and what are the “gotchas” that can slow a project.
As of the date of publication, these summations of the integration processes for collaboration features in rich text editors are accurate based on public information.
What does collaboration mean in an RTE?
For the purposes of our comparison, “collaboration feature” refers to an RTE capability related to multiple users working on a single piece of content together inside the editor.
For example, when your users hear that your app has collaboration features, they’ll expect to be able to:
- Receive suggested edits on their content from other users.
- Comment on each other’s work.
- Mention other users with the @ symbol.
- Retrieve older versions of their content that more than one user worked on.
- Discuss feedback on their content inline.
As mentioned, collaboration features in RTEs go by different terms depending on the RTE In TinyMCE, CKEditor, and Froala, these features are called plugins. In Tiptap, they’re called extensions.
User comments
When users work together in a content editor in any app, they often need to have a dialogue on a specific part of the content. User comments solve this problem, and are important for many different types of apps, from content management systems to internal SaaS apps to workflow apps to learning management systems, and beyond.
These allow users to:
- Create threaded comments by highlighting text they want to discuss and starting a conversation.
- Reply to another user’s comments.
- Edit their own comments.
- Delete or resolve threads.
- Restore comment threads from an archive that were previously resolved.
Let’s look at how each RTE handles user comments.
Comments in TinyMCE
TinyMCE Comments includes all of the above mentioned critical functionalities of user comments. TinyMCE’s storage modes are its biggest differentiator from other popular RTEs.
The first is callback mode, which integrates comments via external storage (e.g., your database). The second is embedded mode, where comments live right in the content. You can also employ TinyMCE’s new User Lookup API as a go-between to help manage user identities.
Comments in CKEditor
CKEditor 5’s Comments has all of the basics for user comments. If necessary, development teams can even configure a "comments‑only" mode in CKEditor that keeps users from editing the content and only allows comments.
CKEditor also has the added feature of real-time comment compatibility. The Real-Time Collaboration CKEditor plugin works in tandem with Comments to enable real-time commenting when multiple users are present in the document. We’ll discuss real-time collaboration features more fully later in this post.
Comments in Tiptap
Tiptap’s Comments also has the basic user comments capabilities down. It’s worth noting that Tiptap’s Comments accesses and manages comments externally via a REST API. By using an API, developers can configure webhooks to drive notification systems. Tiptap’s Comments feature also supports external integrations for offline commenting.
Comments in Froala
Froala does not have a user comments plugin.
User mentions
User mentions bring familiar user-tagging into your RTE. Just like in document management systems such as Google Docs, users type “@” followed by a name to trigger a list of suggested users.
In an LMS, for example, students might tag each other if they’re working together on content for a project. Or perhaps the teacher will tag a student with a revision request.
User lists typically come from your own data sources. User mentions functionality generally:
- Retrieves a list of users.
- Displays user information, from simple names to richer profiles with avatars and descriptions.
- Allows control of editing and approval permissions for different users.
Mentions in TinyMCE
TinyMCE’s Mentions has all the primary capabilities ready to go. It’s compatible with TinyMCE’s Comments and the User Lookup API. Instead of connecting your user data source to every plugin in TinyMCE, you can use the User Lookup API to centralize handling user identities.
Mentions in CKEditor
Mentions is the companion feature to Comments in CKEditor 5 and offers all the core functionalities. It can be used async or in real-time with a second add-on, the CKEditor Real-Time Collaboration plugin. If you want to, you can use these in tandem to integrate real-time Mentions into the RTE.
Mentions in Tiptap
Tiptap’s Mentions also has the basic user mentions capabilities down, and, since Tiptap is extremely modular, your developers will need to vet and install a few other dependencies to make this extension work.
Mentions in Froala
Froala does not have a user mentions capability.
Tracking changes
Tracking the changes made by individual users is necessary for a lot of collaborative web applications: everything from content management systems to workflow apps to customer relationship management apps. Having tracking changes built into an RTE is ideal for web apps with asynchronous workflows because it keeps collaboration in one place instead of scattered across multiple apps. Users have a variety of needs from a track changes feature The feature generally:
- Enables users to make inline changes that don’t alter the original content.
- Shows edits in a sidebar that allows users to review them.
- Allows content edits to be approved or denied.
- Allows comment threads on individual inline changes.
Suggested Edits in TinyMCE
The Suggested Edits plugin is the name of the tracking changes feature in TinyMCE, and is compatible with the User Lookup API for smooth user management. Suggested Edits maintains a JSON-based model of unreviewed edits to keep the document state and edits metadata synchronized, which is helpful in multi-user environments.
Track Changes in CKEditor
CKEditor 5’s Track Changes (also known as suggestion mode) has all the primary capabilities. It’s also another of CKEditor’s features that works with Real-Time Collaboration, so Track Changes can be used by multiple people in real time. As with any of CKEditor’s plugins, it works as a standalone if you don’t need changes to be monitored live by other users.
Track Changes in Tiptap
Tiptap does not have a track changes capability.
Track Changes in Froala
Froala is a popular alternative to the other RTEs on this list, despite the fact that Track Changes is the only collaborative feature that maintains parity with others.
Froala’s Track Changes has some of the basics: it enables the app to highlight changed content from user A for user B. Users can also approve or deny changes.
But Froala’s Track Changes has no feedback or commentary functionality. In a learning management system, for example, students could see what their teacher has changed, but they won’t be able to ask questions in the editor, potentially prolonging getting an answer and delaying the completion of their assignment.
Document history
Document history is necessary to preserve content versions. This feature allows users to review how a document has changed over time and to easily roll back to earlier versions. Sometimes also referred to as version history, this feature can be important for web apps that require accountability and oversight. For example, apps used in regulated industries, where compliance in document editing is mandatory, may require the ability to maintain and review previous versions.
Document history typically includes the ability for users to:
- Open the revision viewer via the toolbar or the View menu.
- Pick from a sidebar of versions.
- Inspect a color‑coded diff highlighting additions, removals, and modifications. Content differences between versions are instantly visible.
Revision History in TinyMCE
TinyMCE’s Revision History has all three of the basics of document history built right in, which includes a Revision History panel that opens up to show different versions users can view and compare, the ability to choose any version from the list and load it into the content editor, and color-coded diff highlighting for content changes in each version.
In TinyMCE, you can customize these diff‑highlight styles through CSS to match your branding or improve readability, and control the CSS around user names, avatars, and metadata. It’s worth noting that Revision History is not yet compatible with the TinyMCE User Lookup API.
Revision History in CKEditor
Revision History in CKEditor has all three basic version history capabilities and is compatible with the CKEditor Real-Time feature. But Revision History doesn’t require CKEditor’s real-time feature to work. Users can make edits, accept and reject them, leave comments, and tag one another either in real-time or async, inside the content.
Document History, Snapshot, and Snapshot Compare in Tiptap
Version history is more complex in Tiptap than in either TinyMCE or CKEditor. That’s because it requires three separate extensions to get similar functionality.
To fully implement version history in Tiptap:
- Install the Snapshot extension: This extension is necessary as the underlying setup for different versions of the same document. Snapshot is the extension that creates and stores the version “snapshots” that Document History manages.
- Install the Document History extension: This extension builds on Snapshot behind the scenes to capture the content in the document at defined intervals, store them as a retrievable log of versions, and configure document metadata.
- Install the Snapshot Compare extension: This extension allows your users to choose two document versions and compare the differences side by side in the editor.
Document history in Froala
Froala doesn’t have a document history plugin.
Real-time collaboration
Real-time collaboration allows users to work on the same document simultaneously, and is available in the two headless editors, CKEditor and Tiptap. Foundational elements of real-time collaboration are:
- Automatic conflict resolution and synchronized updates across clients.
- Presence indicators like live selections, cursors, and a list of active collaborators in the UI indicating which users are performing what action.
Real-time collaboration in TinyMCE
TinyMCE does not have real-time collaboration available.
Real-time Collaboration in CKEditor
CKEditor 5’s Real‑Time Collaboration plugin is built on CKEditor Cloud Services (SaaS or on‑prem). When it’s connected to the other major CKEditor collaboration features, all four of them work together in tandem to offer real-time Comments, Track Changes, and Revision History.
Collaboration in Tiptap
Tiptap’s Collaboration extension leverages Y.js (a Conflict-free Replicated Data Type framework) to enable offline support and scalable syncing across clients to avoid version conflicts.
⚠️ Note: This extension is the foundation for all of Tiptap’s collaboration functionalities, whether you are using TipTap’s cloud or self-hosted version, and is required for Version History, Snapshot Compare, and webhooks.
Real-time collaboration in Froala
Froala doesn’t have a real-time collaboration capability.
Comparison table for collaboration features in rich text editors
Here’s a quick summation of what's available for premium collaboration features in TinyMCE, Froala, CKEditor, and Tiptap.
Collaboration feature |
TinyMCE |
CKEditor |
Tiptap |
Froala |
Document History |
Y |
Y |
Y |
N |
User comments |
Y |
Y |
Y |
N |
User mentions |
Y |
Y |
Y |
N |
Real-time collaboration |
N |
Y |
Y |
N |
Tracking changes |
Y |
Y |
Y |
Y |
What’s next? Explore more rich text editor comparisons
Want to dig deeper? If you’re wondering what makes TinyMCE and Tiptap different from one another in React, check out our comparison guide Tiptap vs TinyMCE in React: Which Editor Wins?. Ready to start exploring TinyMCE’s collaborative features for yourself? Sign up for a free trial of TinyMCE.
This article is the first in a series of articles about collaboration in different rich text editors to help you make an informed decision. Check back soon for Comparing implementing collaboration in TinyMCE and Tiptap, or follow TinyMCE on X to see when the next piece in the series is released.
See a technical error or inaccuracy? Share the facts with us through the TinyMCE contact page.