ProseMirror is a toolkit for developers building rich-text editors on the web. It provides a WYSIWYG-style interface for structured documents while allowing applications to define their document shape and content rules. Rather than treating content as an HTML blob, it gives application code control over a custom document data structure. Schemas and plugins support customization, and the modular design lets applications choose or replace parts. Four essential modules handle the document model, editor state, view, and transformations; additional modules provide commands, key bindings, undo history, input macros, collaboration, and a basic schema. Multiple people can edit together in real time. Examples cover tasks such as Markdown editing, image uploads, code editors, footnotes, and track changes. ProseMirror is open source and legally free for commercial use. It is installed with npm and can be self-hosted. It is a customizable toolkit, not a ready-made editor component, and implementation generally involves a bundler. The GitHub repository says development moved to Forgejo.
Who it is for
It suits developers who need to build a web editor around structured documents and want control over the document model. It is less suited to someone seeking a ready-made component rather than a toolkit.
What is good
- Allows applications to define custom document structures.
- Supports real-time collaborative editing.
- Plugin system can add custom functionality.
- Free for commercial use under the MIT license.
What to know first
- It is not a drop-in editor component.
- Implementation generally involves a bundler.
- GitHub repository says development moved to Forgejo.
Verdict
ProseMirror gives developers a modular base for structured, customizable web editors, including collaboration support. Its toolkit approach requires implementation work rather than providing a finished editor component.
ProseMirror plans and pricing
All plansCompared on rich text editor software
- Free plan
- Yes
- Deployment
- self_hosted
- Framework support
- JavaScript, TypeScript
- Structured content
- Yes
- Real-time collaboration
- Yes
- Table editing
- Yes
- Media handling
- Images via URL-based image nodes; HTML and plain-text paste; drag-and-drop content


