My suggestion would be, if the rich text editor is front and centre a major part of your app, or you are building Google Docs, ProseMirror is the way to go (or TipTap but be prepared to drop down to the ProseMirror api).
If the editor you are building is offering secondary functionality or is on the simpler end of the spectrum, say a text input for a chat app, use TipTap.
One of the nice things with TipTap is they have put significant effort into providing wrappers for all the major front end frameworks.
If you want real-time collaborative editing, TipTap and ProseMirror have first call support for Yjs, which is phenomenal.
Things changed a lot since then and I can’t recommend it:
- project mainteners started a SaaS service based on quill. A lot of editor code now is proprietary. - a public release hasn’t been made in years. - the maintainers don’t accept contributions or manage the issue tracker.
Just use something else.
Because I need to implement “real-time markdown” tiptap has an example for that. Also because I use VUE
I’m very happy with tiptap. It’s headless, pretty easily extensible (built on top of prose mirror), and has many sensible defaults (for links, mentions, images, etc.) The docs sometimes leave something to be desired but the discord is great.