Plate vs Tiptap: Slate with components or ProseMirror with extensions
Plate builds on Slate and ships copy-in shadcn/ui components; Tiptap builds on ProseMirror and ships none. We measured Plate at 150.8 kB gzip and Tiptap at 123.3 kB.
TL;DR
- Plate and Tiptap solve the same problem on different foundations: Plate wraps Slate and gives you components to copy into your repository, Tiptap wraps ProseMirror and gives you no interface at all.
- Our measurements: Plate 150.8 kB gzip and 13 lines to a working editor, Tiptap 123.3 kB and 11 lines, at 209 ms and 171 ms respectively.
- Plate is React-only; Tiptap has first-party React and Vue bindings, which decides it for any product with a non-React surface.
Plate vs Tiptap at a glance
Generated from the same dataset as the main table, so this cannot drift out of sync with the rest of the site.
| Fact | Plate | Tiptap |
|---|---|---|
| Type | library | library |
| Licence | MIT | MIT |
| First release | 2021-07 | 2020-11 |
| Frameworks | React | Any (framework-agnostic) |
| SSR support | partial | partial |
| Bundle (min+gzip) | 150.8 kB gzip | 123.3 kB gzip |
| Price from | Free (open source) | Free tier, paid plans undisclosed |
| Drag & drop canvas | Partial | Partial |
| Responsive breakpoints | No | No |
| Visual style manager | No | No |
| Custom components | Yes | Yes |
| Data binding | No | No |
| E-commerce blocks | No | No |
| Email HTML export | No | No |
| AI generation | Yes | Via plugin |
| Editor i18n | Partial | Partial |
| White label | Yes | Yes |
| Self-hosted | Yes | Yes |
| Our score (0–10) | 8 | 8.3 |
| Last verified | 2026-08-19 | 2026-08-20 |
The same job, two ecosystems
Both are React-first rich-text frameworks aimed at products that need a serious writing surface. The difference is what each one hands you and what it hands you off to.
Plate sits on Slate and ships a large first-party plugin catalogue plus components you copy into your repository in the shadcn/ui manner. You get UI without a package boundary.
Tiptap sits on ProseMirror and ships extensions but no components. You get behaviour, and the interface is your project.
Where Plate wins
Components you can start from. For a team using shadcn/ui and Tailwind, the editor arrives speaking the same design language, and the copy-in model means modifying it is a normal code change.
Block-level UI is in the catalogue. Drag handles, slash commands and block menus are maintained components rather than exercises.
AI features as first-party plugins, not a hosted service.
Where Tiptap wins
Smaller. 123.3 kB gzip against 150.8 kB, before either project's extras.
Framework reach. First-party Vue binding as well as React; Plate is React-only at an architectural level.
A calmer release cadence. Plate ships major versions frequently enough that upgrades are a standing line item; Tiptap's 3.x line moves more slowly.
Nothing in the core is commercial — although note the inverse risk: Tiptap's hosted features (collaboration, comments, AI) are paid, where Plate's AI plugins are not.
The honest summary of the foundations
Slate and ProseMirror are both good, and the choice rarely decides a project. What decides it is which team you would rather join for debugging: Slate's normalisation model, or ProseMirror's transaction and schema model.
If nobody on the team has an opinion, that is itself an argument for Plate, because its components mean you meet the foundation later.
Migration between them
Content migrates through HTML or a document converter you write; both produce structured documents with familiar node types. Custom nodes and every piece of editor UI do not migrate.
The practical scale is the same as Tiptap versus Lexical: count your custom node types, not your documents.
Decision checklist
- Do we use shadcn/ui and Tailwind already? If yes, Plate's components are worth real time.
- Is any surface non-React? Only Tiptap answers that.
- How much upgrade churn can we absorb? Plate moves faster.
- Do we need collaboration, and who pays for it? Tiptap sells it; with Plate you assemble it.
- Which foundation do we want to debug?
The number that matters
27.5 kB — the gzip difference between them in our bundle benchmark, and one of the smaller gaps between any two frameworks in this comparison set. These two are close enough on weight that it should not decide anything; the framework reach and the component story should.
Frequently asked questions
- Which has more UI out of the box?
- Plate, through its copy-in shadcn/ui components — you own the code but you do not write it from scratch. Tiptap ships no interface, so every control is yours.
- Slate or ProseMirror — does the foundation matter?
- It matters when things go wrong. Both are mature, and both leak through: with Plate you debug Slate normalisation, with Tiptap you debug ProseMirror transactions. Pick the one your team would rather learn.
- Which is better for a Notion-style editor?
- Plate, marginally, because slash commands, drag handles and block-level UI are in its catalogue as components rather than as things you build against commands.
Facts about Plate were verified on 2026-08-19 and facts about Tiptap on 2026-08-20. Full source lists are on the Plate review and the Tiptap review.