yjd vs Lexical
Lexical is Meta's extensible, framework-agnostic editor core with official React bindings and a node-based model. It is fast and powerful for building custom editors. yjd is more turnkey: a small editor with a ready toolbar, HTML/Markdown output, and a chat/prompt layout, that drops into any framework without composing plugins.
At a glance
| yjd | Lexical | |
|---|---|---|
| Bundle size | ~17 KB min → ~75 KB full (gzip), tree-shakeable | ~22 KB core gzip (+ plugins / bindings) |
| Dependencies | None (zero runtime deps) | None (core); @lexical/react for React |
| Frameworks | React, Vue 3/2, Angular, AngularJS, Svelte, vanilla | Framework-agnostic core + React bindings |
| TypeScript types | ✓ Yes | ✓ Yes |
| License | ISC | MIT |
| Best for | Comments, chat/prompt inputs, blog & social posts, light CMS | Custom, performant, extensible editors |
Facts, not a scorecard — both are capable editors. Sizes are approximate and vary with configuration/plugins; figures for Lexical come from its public docs (https://lexical.dev). The trade-offs are below.
Which should you pick?
Choose Lexical when
- Very fast, node-based architecture
- Composable plugin model, Meta-backed
- Great base for building a custom editor
You want to build a custom, high-performance editor and are happy assembling nodes and plugins.
Choose yjd when
- Turnkey: toolbar + formats ready, less wiring
- HTML/Markdown output (not a custom node tree)
- Native chat/prompt layout + BYO-AI, any framework
You want a ready-to-use editor with a toolbar and HTML/Markdown output, minimal wiring.
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 Draft.js · vs ProseMirror · vs Editor.js · vs Froala · vs Trix · vs Summernote · vs Jodit · vs Toast UI Editor