yjd vs ProseMirror
ProseMirror is a low-level toolkit for building editors with a strict schema and precise document model — it is the engine under Tiptap. It is powerful but you assemble everything. yjd is the opposite: a finished editor with a toolbar and HTML/Markdown output that you drop in and use.
At a glance
| yjd | ProseMirror | |
|---|---|---|
| Bundle size | ~17 KB min → ~75 KB full (gzip), tree-shakeable | ~100+ KB gzip (assembled from modules) |
| Dependencies | None (zero runtime deps) | prosemirror-* modules |
| Frameworks | React, Vue 3/2, Angular, AngularJS, Svelte, vanilla | Vanilla (wrap it yourself) |
| TypeScript types | ✓ Yes | ✓ Yes |
| License | ISC | MIT |
| Best for | Comments, chat/prompt inputs, blog & social posts, light CMS | Custom editors needing a rigorous document model |
Facts, not a scorecard — both are capable editors. Sizes are approximate and vary with configuration/plugins; figures for ProseMirror come from its public docs (https://prosemirror.net). The trade-offs are below.
Which should you pick?
Choose ProseMirror when
- Rigorous, schema-driven document model
- Total control over structure and transforms
- Foundation for collaboration and complex docs
You need a strict schema and are building a bespoke document editor from primitives.
Choose yjd when
- Turnkey — no editor to assemble
- A fraction of the size and setup
- HTML/Markdown output, works in any framework
You want a working editor now, not a toolkit to build one with.
Try yjd
A real editor, ~17 KB, zero dependencies. Install: npm i @oix1987/yjd. It runs in React, Vue, Angular and vanilla.
More comparisons: vs Tiptap · vs Quill · vs TinyMCE · vs CKEditor 5 · vs Slate · vs Lexical · vs Draft.js · vs Editor.js · vs Froala · vs Trix · vs Summernote · vs Jodit · vs Toast UI Editor