Build a social media post composer with bold, italic, and link formatting.
Create a comment box that lets users format text and embed images.
Build a document editor with undo/redo and custom text styles.
Project is archived; Meta recommends Lexical instead
Draft.js is a JavaScript framework for building rich text editors, the kind where you can bold text, add links, embed media, or apply custom formatting, all inside a web app. It was created by Meta (Facebook) and used in products like Facebook Notes and Messenger. The idea is that building a good text editor from scratch is notoriously tricky: you have to deal with browser quirks, cursor behavior, undo/redo, and more. Draft.js handles all of that complexity and gives developers building blocks they can customize. It integrates directly into React apps using a model where the editor's entire state is stored in an immutable snapshot, meaning every change produces a new version of the state rather than mutating the old one. This makes undo/redo and collaborative editing patterns much easier to build. You would use Draft.js when you need a text editor in a React application that goes beyond a plain textarea, for example, a social media post composer, a comment box with formatting, or a document editor. Important note: this project is archived and no longer receiving new features. Meta has since moved to a successor called Lexical, which they recommend for new projects. The stack is JavaScript and React.
Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.