// the find
TypeCellOS/BlockNote
A React Rich Text Editor that's block-based (Notion style) and extensible. Built on top of Prosemirror and Tiptap.
BlockNote is a Notion-style block editor for React, built on top of Prosemirror and Tiptap. It gives you drag-and-drop blocks, slash commands, real-time collaboration via Yjs, and a polished default UI in about five lines of code. Aimed at developers who want a Notion-like editing experience without building it themselves.
The abstraction layer over Tiptap/Prosemirror is genuinely well-designed — you get a typed block schema and a document manipulation API without touching Prosemirror directly. Real-time collaboration is first-class via Yjs, not an afterthought bolted on later. The custom block/inline-content system lets you define your own block types with React components and have them participate fully in the slash menu, serialization, and collaboration. Export support (HTML, Markdown, DOCX, PDF, ODT) is unusually broad for an open-source editor.
The dual-license split is a real cost of adoption: the base MPL-2.0 core is fine, but AI features, comments, and advanced collaboration live in `@blocknote/xl-*` packages under GPL-3.0, which means commercial apps either can't use them or need a paid license — and the pricing page is not transparent about what that costs. Because it wraps Tiptap which wraps Prosemirror, debugging anything non-trivial means peeling back three abstraction layers; stack traces are confusing and the escape hatches to raw Prosemirror are poorly documented. No framework-agnostic path that actually works in practice — the vanilla-JS adapter exists but the component system assumes React, so Vue/Svelte users are second-class. Bundle size is heavy; pulling in the full Mantine theme adds significant weight even if you only want a simple editor.