# Plate vs Lexical: components included or nothing included

*Source: https://www.editorstack.cc/compare/plate-vs-lexical — last updated 2026-09-17. Licensed CC BY 4.0 with attribution to EditorStack.*

## Summary

- Plate gives you a plugin framework plus components you copy into your repository; Lexical gives you an editor state model and expects the rest from you.
- Measured: Plate 150.8 kB gzip and 13 lines to a working editor, Lexical 104.9 kB and 25 lines.
- Both are React-only in practice, so this comparison is decided by how much of the editor you intend to build and how much upgrade churn you can absorb.

## At a glance

| Product | Type | Licence | Frameworks | Bundle (min+gzip) | Price from | Self-hosted | White label | Score |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| [Plate](https://www.editorstack.cc/libraries/plate) | library | MIT | React | 150.8 kB gzip | Free (open source) | Yes | Yes | 8 |
| [Lexical](https://www.editorstack.cc/libraries/lexical) | library | MIT | Any (framework-agnostic) | 104.9 kB gzip | Free (open source) | Yes | Yes | 7.4 |

## What each one decides for you

Plate decides a great deal: which plugins exist, what a toolbar looks like, how block menus behave.
You can change all of it, because the components live in your repository, but you begin with
opinions.

Lexical decides almost nothing beyond the state model. Every visible element is yours, and the
framework's position is that this is correct.

Our benchmark measures the consequence: thirteen lines against twenty-five, for editors that render
the same thing.

## Where Plate wins

**A running start.** Components, plugins and patterns for the features document editors need —
mentions, tables, slash commands, drag handles.

**Design-system fit.** If you use shadcn/ui, the editor matches your product immediately.

**AI plugins in the maintained set**, rather than as a service or a project.

**A larger catalogue of ready node types**, which shortens the distance to a product rather than a
prototype.

## Where Lexical wins

**Nearly a third less weight**, at 104.9 kB against 150.8 kB before either adds plugins.

**A cleaner state model.** Immutable and transactional, where Slate's normalisation is subtler and
harder to predict at the edges.

**Meta's production scale** behind the core.

**Fewer assumptions to unwind** when your editing surface is not a conventional document.

**No design-system coupling.** Plate's advantage becomes a constraint if you are not on Tailwind and
shadcn/ui.

## The upgrade question

Both projects move. Plate publishes major versions frequently; Lexical is pre-1.0 and permits API
changes by convention.

The practical difference is what breaks. Plate's churn tends to touch components you copied, which is
your code and therefore your merge. Lexical's touches framework APIs you called, which is a smaller
surface but a harder fix.

Whichever you choose, treat editor upgrades as scheduled work rather than as an occasional
inconvenience. Teams that do not end up pinned to an old version with a growing list of unbackported
fixes.

## Migration between them

Both build structured documents, so content converts with a serialiser you write. Neither's plugin
API resembles the other's, so the editor layer is a rewrite.

Realistically this is a decision to make once. Pick on the basis of how much editor you intend to own,
not on which API reads better in a tutorial.

## Decision checklist

1. **Are we on Tailwind and shadcn/ui?** That alone justifies Plate for many teams.
2. **How unusual is our editing surface?** Unusual favours Lexical.
3. **What is our JavaScript budget?** The gap is 45.9 kB before plugins.
4. **Who owns editor upgrades, and when?**
5. **Do we need collaboration?** Both can; neither hands it to you free.

## The number that matters

45.9 kB — the gzip gap in our [bundle benchmark](/research/bundle-size-benchmark-2026), and roughly
the weight of the components Plate gives you. That is a fair way to read this comparison: you are
paying in kilobytes for the UI you would otherwise build, and the question is whether you would have
built the same thing.


## Frequently asked questions

### Which is lighter?

Lexical, at 104.9 kB gzip against Plate's 150.8 kB, both measured with React external and before either project's additional plugins.

### Which ships more UI?

Plate, decisively — its shadcn/ui components are copied into your codebase, so you start from a toolbar rather than from nothing.

### Which has the more stable API?

Neither is settled: Plate ships frequent major versions and Lexical is pre-1.0. Plate's churn is more visible because the version numbers are large; Lexical's is implied by the 0.x line.
