TinyMCE
TinyMCE gives you total control over rich text editing within any application.
As a WYSIWYG component, it can be seamlessly integrated into your web app's existing tech stack – and can be fully customized via its 400+ APIs and 12+ framework integrations or used out-of-the-box as an enterprise-grade editor.
TinyMCE paid plans include advanced features that are perfectly suited to enterprise-grade uses and even the most complex edge-cases. Three popular premium features:
1. AI Assistant: Generative AI = faster writing
→ Embed the power of AI inside your app with pre-written prompts
2. PowerPaste: 99.9% accurate copy-paste = less support tickets
→ Cleanly copy-paste from MSWord, GDocs, Excel, and other popular apps
3. Spell Checker Pro: Eliminate errors = consistent on-brand spelling
→ Check up to 13 languages (plus medical terms) and build custom dictionaries
Available in the cloud and on-premise. Easily integrates with React, Angular, Vue, Bootstrap and others.
Learn more
Draft.js
We provide the building blocks to enable the creation of a broad variety of rich text composition experiences, from basic text styles to embedded media. Draft.js fits seamlessly into React applications, abstracting away the details of rendering, selection, and input behavior with a familiar declarative API. The Draft.js model is built with immutable-js, offering an API with functional state updates and aggressively leveraging data persistence for scalable memory usage. Draft.js is a framework for building rich text editors in React, powered by an immutable model and abstracting over cross-browser differences. Draft.js allows you to build any type of rich text input, whether you're only looking to support a few inline text styles or building a complex text editor for composing long-form articles. Draft.js is distributed via npm. It depends on React and React DOM which must also be installed.
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
Editor.js
Next generation block styled editor. Meet the new editor, on our webpage you can see it in action. It is a block-styled editor, it returns clean data output in JSON, and it is designed to be extendable and pluggable with a simple API. Workspace in classic editors is made of a single contenteditable element, used to create different HTML markups. Editor.js workspace consists of separate Blocks: paragraphs, headings, images, lists, quotes, etc. Each of them is an independent contenteditable element (or more complex structure) provided by Plugin and united by Editor's Core. There are dozens of ready-to-use Blocks and the simple API for creation any Block you need. For example, you can implement Blocks for Tweets, Instagram posts, surveys and polls, CTA-buttons and even games. Classic WYSIWYG-editors produce raw HTML-markup with both content data and content appearance. On the contrary, Editor.js outputs JSON object with data of each Block.
Learn more