plate
Plate is a TypeScript rich-text editor framework built on Slate and slate-react, offering a plugin system plus a large catalog of plugins, Radix UI-based headless primitives, and ready-made shadcn/ui components for assembling production editors.
MITPermissive — free to use in commercial and proprietary software, with attribution.View license →
Production readiness
4/5- Actively maintainedCommits in the last 6 months
- No known vulnerabilitiesNot yet scanned
- Clear, usable licenseMIT (permissive)
- Proven adoptionWidely used
- Has documentationDocumentation indexed
npm install plateOur analysis
A rich-text editor framework that wraps Slate/slate-react in a more ergonomic plugin architecture, adding headless primitives and copy-paste shadcn/ui components for building Notion-like editing experiences.
When to use plate
Use it when building a customizable React rich-text/WYSIWYG editor and you want a large library of ready plugins (tables, mentions, AI, comments, markdown) plus styled shadcn/ui components, while retaining full control via Slate's data model.
When not to
Avoid it for non-React stacks, simple textareas, or when you want a fully batteries-included drop-in editor with hosted styling (TipTap/CKEditor); also consider Lexical or ProseMirror directly if you need a different document model or performance characteristics than Slate provides.
Strengths
- Very large plugin ecosystem covering most editor features out of the box
- Headless primitives + shadcn/ui components give design-system flexibility
- Strong TypeScript support and modular package structure
- Active project with templates (Notion-like, playground, minimal) to bootstrap quickly
Trade-offs
- Inherits Slate's quirks and historical normalization/performance edge cases
- Steep learning curve given the plugin/primitive/component layering
- Some advanced features (AI backend, Notion-like template) sit behind a paid Plate Pro offering
- Tied to React and the shadcn/Radix stack for the recommended component path
Maturity
Mature and widely adopted (16k+ stars), with frequent releases, multilingual docs, a Discord community, and commercial templates indicating sustained maintenance.
Templates
You can choose one of the following templates to get started:
OptionPlatePluginsAIBackendNotion-like template✅✅✅✅Plate playground template✅✅✅Plate minimal template✅
Documentation
You can learn more about Plate by checking out our documentation.
Contributing
To get started, check out our contributing guide.
Contributors
We'd love for you to join us! Whether it's through giving us a 🌟 star, making a 📥 pull request, or sharing your plugins, your help is always appreciated.
Need more help? Join us on Discord. We're always here to guide you.
中文文档
您可以通过查看我们的中文文档了解更多关于Plate的信息。如果您需要中文支持,欢迎加入我们的Discord中文频道,我们的社区成员将很乐意用中文为您解答问题。
对于贡献者,我们也提供了中文贡献指南,帮助您参与到Plate的开发中。