EVERYTHING XIAOMI
Get listed

ProseMirror

ProseMirror is a toolkit for developers building rich-text editors on the web.

Place
#11 of 37
Score
6.4
ProseMirror's website

What ProseMirror is

ProseMirror is a toolkit for developers building rich-text editors on the web. It supports structured documents through a WYSIWYG-style interface, while allowing applications to define the content and document shape. Rather than treating a document as an HTML blob, it gives application code control over its own document data structure. Schemas and plugins let developers customize that structure and extend the editor. Four core modules handle the document model, editor state, view and transformations; additional modules offer commands, key bindings, undo history, input macros and collaboration. Multiple people can edit together in real time. The project’s examples include Markdown editing, image uploads, custom schemas, menus, 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 not a ready-made editor component: implementation is modular and generally involves a bundler. The project directs questions to its forum and bug reports to its issue tracker; its GitHub repository says development has moved to Forgejo.

Good

  • Free for commercial use
  • Supports real-time collaborative editing
  • Custom schemas define document structure
  • Plugin system allows added functionality
  • Works with recent major browsers and IE 11

Watch out

  • Not a drop-in editor component
  • Using it generally involves a bundler
  • GitHub repository says it is archived

Who it suits

ProseMirror is for developers who need to build a custom web editor for structured content. It may suit teams that want control over document schemas and real-time collaboration, rather than a drop-in editor component.

Verdict

ProseMirror gives application developers control over editor structure and behavior, with collaboration and extension modules available. Expect to assemble and bundle an editor rather than install a complete component.

Plans and prices

From ProseMirror's own pricing page, checked 1 Oct 2026.

All about pricing
PlanPriceWhat it gives you
ProseMirror open-source libraryFreecommercial use legally permitted · install with npm

The facts

Each one read from ProseMirror's own pages, with the date it was checked.

What it does

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

Where it runs

Browser support
The library works on recent Firefox, Chrome, Safari, and Edge versions, as well as Internet Explorer 11.checked 1 Oct 2026
The full review of ProseMirror

ProseMirror is a JavaScript toolkit for building structured rich-text editors in the browser. It suits product teams that need application-defined document rules, custom behavior, or collaborative editing. It is a poor fit when the priority is a ready-made editor that can be dropped into a page with minimal assembly.

Overview

ProseMirror keeps the document in a custom data structure instead of treating it as an HTML blob. Its WYSIWYG-style interface can enforce constrained content through schemas, so an application can control which structures users create and how those structures are transformed. That is a meaningful advantage for workflows where valid content matters as much as free-form typing.

The cost is implementation ownership. ProseMirror is a small, generic foundation rather than a finished component, and it is not shipped as one browser-loadable script. Installation is through npm, and most projects will want a bundler. Teams get control, but they also take responsibility for assembling the editor and deciding how it should behave.

Key features

Structured model and modular architecture

Document schemas define permitted structures without requiring a team to write an editor from zero. The essential packages—prosemirror-model, prosemirror-state, prosemirror-view, and prosemirror-transform—separate document representation, state, display, and transformations. Its modular, pluggable, largely functional and immutable design lets applications load only what they need or replace individual parts. That is well suited to a bespoke editor, but it demands developers who are comfortable designing the surrounding system.

Extensions and collaboration

Separate modules add editing commands, key bindings, undo history, input macros, collaborative editing, and a basic document schema. Built-in support for multiple people editing in real time makes ProseMirror a credible base for shared documents rather than a single-user text box. The plugin system supports further functionality and custom extensions, while official examples cover Markdown, image upload, custom schemas, menus, foldable nodes, code editors, linters, footnotes, track changes, and collaboration. These examples clarify what can be built, but they do not remove the integration work.

Editing and media support

Structured content, table editing, HTML and plain-text paste, and drag-and-drop content are supported. Images are represented through URL-based image nodes, so applications retain control of how media is stored and referenced. This approach fits products with their own content model better than products that simply need a preconfigured media library.

Security and maintenance considerations

An official forum advisory reports a viable cross-site-scripting risk affecting some uses of DOMSerializer, so teams should review their serialization paths and keep security decisions in their own application. The GitHub repository is archived, with development moved to Forgejo at code.haverbeke.berlin. Questions and discussion are directed to the project forum, while bugs go to the issue tracker.

Pricing

ProseMirror open-source library — free. The library is open source under the MIT license, and commercial use is legally permitted. There is no free trial because the software is already free, and there are no seat, usage, or renewal charges. The state package's MIT terms include warranty and liability disclaimers. Profitable users are asked to help fund maintenance, but payment is not required. This is an excellent fit for teams able to provide their own engineering, deployment, and support; it gives up the convenience of a vendor-managed component.

Platforms

ProseMirror targets the web through an API and supports self-hosted deployment. JavaScript and TypeScript are supported. The library works with recent Firefox, Chrome, Safari, and Edge versions, as well as Internet Explorer 11, which may matter for legacy browser requirements.

Who it's for

Choose ProseMirror when the editor is core product infrastructure, documents must obey a custom schema, or real-time collaboration needs to fit an application-specific model. It is also a strong choice for teams that want to compose a small set of modules and retain control over deployment. Look elsewhere if your team needs a complete editor UI, a single script include, or minimal bundling and integration work.

Pros and cons

  • Pros: Custom schemas enforce structured content; the document model gives application code control beyond HTML; modular packages and plugins allow precise tailoring; real-time collaboration is built in; MIT licensing permits commercial use at no software cost.
  • Cons: It is not a drop-in component and generally requires a bundler; assembling behavior places a substantial engineering burden on the product team; the archived GitHub repository and reported DOMSerializer XSS risk require attentive maintenance and security review.

Alternatives

For a visual editor with a freemium model and Android, iOS, self-hosted, and web platforms, consider AiEditor. CKEditor 5 is the better direction when a freemium product with a free trial and packaged Essential plan suits your deployment. Choose Editor.js for a free, open-source option identified with CodeX, or MDXEditor when a web-based React component for authoring Markdown is the requirement. Tiptap offers an open-source MIT core alongside paid plans, while am-editor is a free MIT-licensed self-hosted/web library. BlockNote is another freemium self-hosted/web option, and ContentTools is a free, MIT-licensed JavaScript library for HTML editing.

Verdict

ProseMirror is recommended for developers building a structured, extensible web editor whose data model and behavior must belong to the application. Its strongest reason to choose it is deep control, including schemas and collaborative editing, at no software cost. Look elsewhere when a finished editor, managed interface, or lower implementation overhead matters more than that control.

Alternatives to ProseMirror

All alternatives
  1. 1

    AiEditor

    Free planOpen sourceAndroidiOSWebAPI
    8.3$5,000 one-time
  2. 2

    Editor.js

    Free planOpen sourceAndroidiOSWebAPI
    7.7Free plan
  3. 3CKEditor 5 logo

    CKEditor 5

    Free planAndroidiOSWebAPI
    7.3From $160 a month
  4. 4

    Froala Editor

    AndroidiOSWebSelf-hosted
    7.1From $60 a month
  5. 5Tiptap logo

    Tiptap

    Free planWebAPISelf-hosted
    6.7From $49 a month
  6. 6Plate logo

    Plate

    Free planWebSelf-hosted
    6.6€299 one-time