Skip to content
SPECIFICTION
Get listed

ProseMirror

prosemirror.net

Free plan WebAPISelf-hosted

What it is

ProseMirror is a toolkit for developers building rich-text editors on the web. It supports structured documents through a WYSIWYG-style interface while letting applications define document shape and content. Instead of treating a document as an HTML blob, it gives application code control over a custom data structure. Schemas and plugins provide ways to customize that structure and extend editor behavior. Four core modules handle the document model, editor state, view, and transformations; additional modules offer commands, key bindings, undo history, input macros, collaboration, and a basic schema. Multiple people can edit together in real time. Examples cover Markdown, image uploads, custom schemas, menus, code editors, footnotes, and track changes. ProseMirror is free, open source, and legally usable commercially; it can be self-hosted and is installed through npm. It works in recent Firefox, Chrome, Safari, and Edge versions, as well as Internet Explorer 11. It is a modular toolkit rather than a ready-made editor component, and implementation generally involves a bundler.

Spec sheet

What it does
ProseMirror is a toolkit for building rich-text editors on the web.Read 1 Oct 2026 · prosemirror.net
Purpose
ProseMirror is a toolkit for building rich-text editors on the web.Read 1 Oct 2026 · prosemirror.net
Support
The project directs questions and discussion to its forum and bugs to its issue tracker, with a code of conduct for communication.Read 1 Oct 2026 · prosemirror.net
License
The project is released under the MIT license and the homepage says users are legally free to use it commercially.Read 1 Oct 2026 · github.com
Account security
The discussion site's terms make account holders responsible for maintaining account security and activity under their accounts.Read 1 Oct 2026 · discuss.prosemirror.net
Architecture
ProseMirror is modular, pluggable, largely functional and immutable, and unopinionated.Read 1 Oct 2026 · prosemirror.net
Browser support
The library works on recent Firefox, Chrome, Safari, and Edge versions, as well as Internet Explorer 11.Read 1 Oct 2026 · prosemirror.net
Bundling
ProseMirror is not distributed as one browser-loadable script, so the guide says users will probably want a bundler.Read 1 Oct 2026 · prosemirror.net
Collaboration
It supports real-time collaborative editing, allowing multiple people to edit the same document simultaneously.Read 1 Oct 2026 · prosemirror.net
Commercial use
The project is open source and legally free to use commercially, while asking profitable users to help fund maintenance.Read 1 Oct 2026 · prosemirror.net
Core
The core library is small and generic and is intended as a base for different kinds of editors.Read 1 Oct 2026 · prosemirror.net
Core modules
Four essential modules are prosemirror-model, prosemirror-state, prosemirror-view, and prosemirror-transform.Read 1 Oct 2026 · prosemirror.net
Document model
The editor gives application code control over a custom document data structure rather than treating the document as an HTML blob.Read 1 Oct 2026 · prosemirror.net
Editing model
It provides a WYSIWYG-style interface for documents with constrained, structured content.Read 1 Oct 2026 · prosemirror.net
Examples
Official examples cover Markdown editing, image upload, custom schemas, menus, foldable nodes, code editors, linters, footnotes, track changes, and collaborative editing.Read 1 Oct 2026 · prosemirror.net
Extensions
Additional modules provide editing commands, key bindings, undo history, input macros, collaborative editing, and a basic document schema.Read 1 Oct 2026 · prosemirror.net
Implementation limit
The core library is not a drop-in component and is intended as a modular, customizable toolkit; using it generally involves a bundler.Read 1 Oct 2026 · prosemirror.net
Installation
The official site says the easiest way to install ProseMirror is with npm.Read 1 Oct 2026 · prosemirror.net
License terms
The ProseMirror state package is released under the MIT License, which includes warranty and liability disclaimers.Read 1 Oct 2026 · github.com
Modularity
Its modular architecture lets applications load only the code they need and replace system parts.Read 1 Oct 2026 · prosemirror.net
Plugins
Its plugin system enables additional functionality and custom extensions.Read 1 Oct 2026 · prosemirror.net
Repository status
The GitHub repository says it is archived and that development has moved to Forgejo at code.haverbeke.berlin.Read 1 Oct 2026 · github.com
Schemas
Document schemas allow custom document structures without writing an editor from scratch.Read 1 Oct 2026 · prosemirror.net
Security advisory
An official forum advisory reports a viable cross-site-scripting risk affecting some uses of DOMSerializer.Read 1 Oct 2026 · discuss.prosemirror.net
Structured documents
It provides a WYSIWYG-style interface for constrained, structured documents and lets applications customize document shape and structure.Read 1 Oct 2026 · prosemirror.net

Plans and prices

ProseMirror open-source library Free commercial use legally permitted · install with npm Read 1 Oct 2026 · prosemirror.net

Every ProseMirror plan and price →

Strong points and limits

Strong points

  • Custom schemas define document structures.
  • Real-time collaborative editing is supported.
  • Plugins can extend functionality.
  • Commercial use is legally permitted.
  • Works in recent major browsers and Internet Explorer 11.

Limits

  • It is not a drop-in editor component.
  • Implementation generally involves a bundler.
  • GitHub repository says development moved to Forgejo.
  • A forum advisory reports XSS risk for some DOMSerializer uses.

Who it suits

ProseMirror suits developers who need to build a customizable editor for structured documents. It is a fit for projects prepared to compose a toolkit rather than drop in a finished editor component.

Verdict

ProseMirror offers fine-grained control over structured editing and collaboration, but leaves assembly to the application developer. Its modular implementation and the reported DOMSerializer advisory are worth considering before adoption.

Where Specifiction places it

Alternatives to ProseMirrorAll alternatives →