Software Alternatives, Accelerators & Startups

Draft.js VS ProseMirror

Compare Draft.js VS ProseMirror and see what are their differences

Draft.js logo Draft.js

Rich Text Editor Framework for React

ProseMirror logo ProseMirror

A toolkit for building rich-text editors on the web
  • Draft.js Landing page
    Landing page //
    2022-03-29
  • ProseMirror Landing page
    Landing page //
    2022-01-04

Draft.js features and specs

  • Rich Text Editing
    Draft.js provides a powerful framework for building rich text editors with a high level of customization, allowing developers to implement various formatting and styling options with ease.
  • Immutable.js Integration
    Draft.js uses Immutable.js to manage editor state, which can lead to improved performance and easier state management, as it helps avoid unnecessary re-renders and mutations.
  • Extensibility
    The library offers the ability to create custom blocks, decorations, and plugins, enabling developers to extend and tailor the editor's behavior to their specific needs.
  • Facebook Support
    Draft.js is developed and maintained by Facebook, which suggests a certain level of reliability and indicates a strong backing in terms of updates and community support.
  • Comprehensive Documentation
    The library is well-documented, with comprehensive guides and examples that help developers get started quickly and understand the full potential of the framework.

Possible disadvantages of Draft.js

  • Complexity
    Draft.js has a steep learning curve, especially for developers who are not familiar with React or Immutable.js, as it requires understanding its unique architecture and concepts.
  • Bundle Size
    The inclusion of Immutable.js can lead to a larger bundle size for web applications, which might be a concern for developers aiming for minimalistic and fast-loading applications.
  • Limited Built-in Features
    Draft.js provides a basic editor out of the box, which means developers often need to implement or find third-party plugins for advanced features like tables, embedded media, or collaborative editing.
  • Customizability Overhead
    While high customizability is a strength, it also means that basic implementations may involve more boilerplate code and setup compared to other, more out-of-the-box solutions.
  • Sparse Updates
    Draft.js does not receive updates as frequently as some other open-source projects, which can lead to uncertainty around the timeline for bug fixes or new feature implementations.

ProseMirror features and specs

  • Highly Customizable
    ProseMirror offers a highly flexible and customizable framework, allowing developers to tailor the editor to fit specific requirements, from schema design to collaborative editing features.
  • Rich Text Capabilities
    It supports complex rich text editing capabilities like tables, lists, and image embedding, making it suitable for sophisticated content editing tasks.
  • Collaborative Editing
    ProseMirror has robust support for collaborative editing out-of-the-box, enabling multiple users to edit documents simultaneously with minimal conflict.
  • Active Community
    An active community and extensive documentation ensure that developers can find support and resources to resolve issues and leverage shared knowledge.
  • Performance
    Designed for high performance, ProseMirror efficiently handles large documents without significant slowdowns, optimizing rendering and operational transformations.

Possible disadvantages of ProseMirror

  • Steep Learning Curve
    ProseMirror's powerful features come with complexity, leading to a steep learning curve for new developers unfamiliar with its API and architecture.
  • Limited Plugins
    While customizable, the ecosystem of ready-made plugins is not as extensive as some other editors, which could require more custom development effort.
  • Lack of Built-in Features
    Certain high-level features, such as specific UI components or integrations, are not provided out of the box, requiring additional implementation.
  • Complex Configuration
    Setting up and configuring ProseMirror can be complex, especially for newcomers, due to the numerous options and concepts to understand and implement.

Draft.js videos

Live coding โ€“ย Draft.js copy-paste fix

ProseMirror videos

No ProseMirror videos yet. You could help us improve this page by suggesting one.

Add video

Category Popularity

0-100% (relative to Draft.js and ProseMirror)
Text Editors
52 52%
48% 48
Rich Text Editor
44 44%
56% 56
Developer Tools
100 100%
0% 0
IDEs And Text Editors
46 46%
54% 54

User comments

Share your experience with using Draft.js and ProseMirror. For example, how are they different and which one is better?
Log in or Post with

Reviews

These are some of the external sources and on-site user reviews we've used to compare Draft.js and ProseMirror

Draft.js Reviews

We have no reviews of Draft.js yet.
Be the first one to post

ProseMirror Reviews

14 Best Open Source WYSIWYG HTML Editors
ProseMirror is an exciting choice for free for users who want collaborative editing capabilities. Most of the WYSIWYG editors offer the collaboration feature for a premium. But here, you can work with others on the same document in real-time (for free).
Source: itsfoss.com

Social recommendations and mentions

ProseMirror might be a bit more popular than Draft.js. We know about 38 links to it since March 2021 and only 27 links to Draft.js. We are tracking product recommendations and mentions on various public social media platforms and blogs. They can help you identify which product is more popular and what people think of it.

Draft.js mentions (27)

  • Introducing react-rte-light: A Lightweight Rich Text Editor for React
    Are you looking for a lightweight, flexible, and modern rich text editor for your React applications? Look no further! I'm excited to share react-rte-light, a TypeScript-based rich text editor built with Draft.js. Itโ€™s designed to work seamlessly with React 16.8 to 19, offering a minimal-dependency alternative to heavier editors like React Quill. Whether you're building a blog platform, a note-taking app, or a... - Source: dev.to / about 2 months ago
  • Lexical 0.24 with Vanilla JS: Getting started
    Lexical is an open source project and considered the successor of Draft.js. It is primarily developed by Meta, licensed under MIT. It is not restricted to React, but supports Vanilla JS, too. The flexibility enables us to integrate it with other JS libraries such as Svelte and Vue. - Source: dev.to / 8 months ago
  • Ask HN: Is there a licensable/free version of the "Substack" email editor?
    - https://draftjs.org/ If you're talking about liking the full experience with settings and previews, that I'm afraid is all custom built. I can't imagine an open source reusable one being out there, but I could be wrong! - Source: Hacker News / about 1 year ago
  • Which Rich Text Editor to use ?
    I've always used Quill and always satisfied with it. It can be adapted to React Native as well. Despite the most popular RTE is Draft js it has some limitations on mobile. Source: about 2 years ago
  • Inline styles in draft-js
    To be able to create an editor, the only requirement is to know how to set up a ReactJS (or NextJs) project. We're going to use draft-js and contenido packages in this tutorial. - Source: dev.to / over 2 years ago
View more

ProseMirror mentions (38)

  • Top 5 Page Builders for React
    While Storyblok and Builder.io offer full-page editing experiences with structured CMS capabilities, Tiptap takes a different approach. Itโ€™s not a traditional page builder but rather an embeddable headless editor built on ProseMirror. This means that instead of giving you a predefined UI to work with, it provides the underlying logic, leaving you in full control of the interface, interaction and level of... - Source: dev.to / 8 months ago
  • Ask HN: How to integrate a Blog system into my NextJS app
    > One thing I learned is that you should lean towards letting non-technical people choose their own tools like why we largely let developers choose their own tools. IMHO: I think a more sustainable variant of this (for your own sanity) might be to ask them which tool(s) they like and then take some time to understand WHY. But then instead of just letting them use those directly, you would either vet them first... - Source: Hacker News / 11 months ago
  • Open Source Contribution: Round 2
    However, after doing some extensive research, I realized that almost none of them were compatible with Svelte, and those that were did not offer what I was looking for. That is, until I found tiptap, which is a headless wrapper around another WYSIWYG editor called ProseMirror. However, ProseMirror is very low level, and tiptap is super Svelte friendly! - Source: dev.to / 11 months ago
  • Word-like HTML inline edit with design mode
    I love how Trix [0] and (I think) ProseMirror [1] work in that regard: it does use contenteditable, but every edit you make is applied to an internal model instead, then the editor state is updated back from the model. [0]: https://trix-editor.org/ [1]: https://prosemirror.net/. - Source: Hacker News / 12 months ago
  • How to quickly add a rich text editor to your Next.js project using TipTap
    Tiptap is an open source headless wrapper around ProseMirror. ProseMirror is a toolkit for building rich text WYSIWYG editors. The best part about Tiptap is that it's headless, which means you can customize and create your rich text editor however you want. I'll be using TailwindCSS for this tutorial. - Source: dev.to / over 1 year ago
View more

What are some alternatives?

When comparing Draft.js and ProseMirror, you can also consider the following products

Quill - Powerful, API-driven rich text editor

MediumEditor - MediumEditor is a simple inline editor toolbar built with JavaScript.

CodeMirror - CodeMirror is a versatile text editor implemented in JavaScript for the browser.

Trix - A rich text editor for everyday writing.

Editor.js - A block-styled editor with clean JSON output

CKEditor - Real-time collaborative future-ready rich text editor