ProseMirror
Rich content editors should, ideally, produce clean, semantically meaningful documents while still being easy for users to understand. ProseMirror tries to bridge the gap between editing explicit, unambiguous content like Markdown or XML, and classical WYSIWYG editors. It does this by implementing a WYSIWYG-style editing interface for documents more constrained and structured than plain HTML. You can customize the shape and structure of the documents your editor creates, and tailor them to your application's needs. ProseMirror has built-in, ground-up, rock solid support for collaborative editing, where multiple people work on the same document in real time. Document schemas allow editing documents with a custom structure without writing your own editor from scratch. A modular architecture makes sure you only load the code you need, and can replace parts of the system as needed. A plugin system allows you to easily enable additional functionality.
Learn more
Trix
Compose beautifully formatted text in your web application. Trix is an editor for writing messages, comments, articles, and lists, the simple documents most web apps are made of. It features a sophisticated document model, support for embedded attachments, and outputs terse and consistent HTML. Most WYSIWYG editors are wrappers around HTML’s contenteditable and execCommand APIs, designed by Microsoft to support live editing of web pages in Internet Explorer 5.5, and eventually reverse-engineered and copied by other browsers. Because these APIs were never fully specified or documented, and because WYSIWYG HTML editors are enormous in scope, each browser’s implementation has its own set of bugs and quirks, and JavaScript developers are left to resolve the inconsistencies. Trix sidesteps these inconsistencies by treating contenteditable as an I/O device: when input makes its way to the editor, Trix converts that input into an editing operation on its internal document model.
Learn more
Tiptap
Tiptap is a headless, open-source rich-text editor framework designed for developers building modern, collaborative applications. Built on ProseMirror, it offers a modular architecture with over 100 extensions, enabling the creation of custom editors tailored to specific user needs. Tiptap supports real-time collaboration through its open source backend, Hocuspocus, allowing multiple users to edit documents simultaneously with features like live cursors and offline editing. It also integrates AI capabilities, such as the content AI extension, which provides in-line text transformations and AI-driven suggestions to enhance content creation. Developers can further extend functionality with features like commenting systems, document management, and import/export options for formats like DOCX. Tiptap's UI components and React templates facilitate rapid development of editors resembling applications like Notion or Google Docs.
Learn more
BlockNote
BlockNote is an open source, block-based rich text editor for React that offers a polished, Notion-style user experience with minimal setup. It comes with built-in UI components like menus and toolbars, which are fully customizable. It supports drag-and-drop functionality, allowing users to organize content into blocks that can be nested or rearranged. Developers can extend the editor with custom blocks, schemas, and plugins, benefiting from first-class TypeScript support for type safety and autocompletion. BlockNote enables real-time collaboration using Yjs, with support for providers like Liveblocks and PartyKit, allowing multiple users to edit documents simultaneously. It also supports theming, markdown, and HTML conversion, and can be used with vanilla JavaScript for non-React projects. Built on top of ProseMirror and TipTap, BlockNote simplifies the process of adding a rich text editor to applications, eliminating the need to build interface elements from scratch.
Learn more