Like this one!
Try it out by typing in here or see more examples.
An ideal content editor produces structured, semantically
meaningful documents, but does so in a way that is easy for users to
understand. ProseMirror tries to bridge the gap
between Markdown text editing and
It does this by implementing a WYSIWYG-style editing interface for
documents more constrained and structured than plain HTML. You can
customize the shape and structure of the documents your editor
creates, and tailor them to your application's needs.
ProseMirror has built-in, ground-up, rock solid support for
collaborative editing, where multiple people work on the same
document in real time.
Document schemas allow editing documents with a custom
structure without writing your own editor from scratch.
A modular architecture makes sure you only load the code you
need, and can replace parts of the system as needed.
A plugin system allows you to easily enable additional
functionality, and package your own extensions in a convenient
A largely functional and immutable architecture makes it easy
to integrate ProseMirror into modern web apps, and confidently
implement complex behavior.
The core library is small and generic, providing a base onto
which very different types of editors can be built.
source, and you are legally free to use it commercially. Yet,
writing, maintaining, supporting, and setting up infrastructure for
such a project takes a lot of work and energy. Therefore...
If you are using ProseMirror to make profit, there is
a social expectation that you help
fund its maintenance.
ProseMirror is being developed
on GitHub. Contributions
The easiest way to install ProseMirror is
Take a look at the examples to get
Discussing the project, or asking questions, is best done on
Bugs should be reported through
tracker. We aim to be an inclusive, welcoming community. To make
that explicit, we have
a code of
conduct that applies to communication around the project.
Initial development of the software
by these 414 excellent individuals and