I have tested/worked with some JS-rich text editors, here is my feedback. My criteria were as follows:
Can be used in ReactJS web apps;
Out of box example which covers most of the use cases (image, formatting, code addition);
Production-ready;
SlateJS - is an awesome and nice-looking RTE, but had to drop it as it is still not in production. I remember when the development team decided to re-write some logic and I had to make big changes on my side as well;
DraftJs - this looks old, I couldn't find (in a reasonable time) an example that could cover my use cases and looks good on my page. Dropped. btw. The last release was 17.08.2020, almost a year ago!
TipTap - nowadays it supports ReactJS as well, I wish there was a nice looking example that covers the most cases e.g. images, editing, code support, etc;
A Trix editor from Basecamp, I hope they are still supporting it after the mass exodus. I think their editor is being used by Circle.so team.
Prosemirror siblings. Remirror is becoming huge, there is so much development going on, but I don't see one universal, nice looking example;
Markdown editor by outline. It is a Prosemirror based (used SlateJS originally and dropped) markdown editor. It looks nice and the example covers all my use cases. The only catch, it stores data in markdown format, so if I wanted to send emails with such content I have to convert to html.
A bangle.io editor, it is also based on Prosemirror, when they are production-ready I am going to give it a try;
Honorable mentions. Froala Editor is an awesome editor, but it is pricey. I am planning to take a closer look at EditorJs, as it looks promising.
Great collection Nurlan! I always thought TinyMCE is the non plus ultra in WYSIWYG editors. What do you think about them?
There was something with TinyMCE, I don't remember. Did you try to use their free version? Does it have its brand?
Yeah I‘ve used their free self-hosted version. But to be honest, it was several years ago and I can’t really remember about their shortcomings (if any). 👍
This is the link to their react component/integration: https://www.tiny.cloud/docs/integrations/react/