Visual Editor & Page Builder Libraries: The 2026 Comparison
This page compares 34 libraries, SDKs and platforms for embedding a visual editor or page builder in your own product, with 12 bundle sizes we measured ourselves rather than quoted from vendors.
TL;DR
- If you need to embed an editor in a React application and render your own components inside the canvas, Puck and Craft.js are the two libraries built for that; Puck ships an editor UI, Craft.js expects you to build one.
- If the editor must work outside React or must output standalone HTML — an email builder, a template editor, a white-label site builder — GrapesJS is the framework-agnostic engine most teams end up on, at a measured 294.6 kB gzip for the core alone.
- Commercial SDKs such as Builder.io, Unlayer and Beefree SDK sell you the parts open-source engines leave out — hosted storage, asset management, tested email HTML — and their entry prices in 2026 run from $60 to $350 per month.
- Webflow, Framer and Elementor appear in this table only as build-versus-buy reference points: none of them can be embedded inside your own application.
Compare all 34 products
Filters update the URL so you can share a filtered view. Every row is in the page source, so the table is readable without JavaScript. Bundle sizes marked in kilobytes are our own measurements — see the bundle size benchmark for the method.
34 of 34 products
| Product | Type | Licence | Frameworks | Bundle (min+gzip) | Price from | Self-hosted | White label | Score |
|---|---|---|---|---|---|---|---|---|
| Beefree SDK | Commercial SDK | Proprietary | Any (framework-agnostic) | Not measurable | from $350/mo | No | Yes | — |
| BlockNote | Library | MPL-2.0 | React, Vue | 386.1 kB gzip | from $195/mo | Yes | Yes | — |
| Brizy | Platform | Proprietary | Unverified | Not measurable | from $159/mo | — | Yes | — |
| Builder.io | Commercial SDK | Proprietary | React, Vue, Angular | Not measurable | from $19/mo | No | — | — |
| CKEditor 5 | Library | GPL-2.0-or-later OR commercial | Any (framework-agnostic) | 161.2 kB gzip | from $144/mo | Yes | — | — |
| Contentful Studio | Headless CMS | MIT | React | Not measurable | Quote only | No | No | — |
| Craft.js | Library | MIT | React | 29.2 kB gzip | Free (open source) | Yes | Yes | 6.6 |
| Directus | Headless CMS | BSL-1.1 | Any (framework-agnostic) | Not measurable | from $99/mo | Yes | Yes | — |
| Duda | Platform | Proprietary | Unverified | Not measurable | from $19/mo | No | Yes | — |
| Editor.js | Library | Apache-2.0 | Any (framework-agnostic) | 64.3 kB gzip | Free (open source) | Yes | Yes | 7.7 |
| Elementor | Platform | GPL-3.0 | Unverified | Not measurable | from $59/yr | Yes | — | — |
| Framer | Platform | Proprietary | React | Not measurable | from $10/mo | No | No | — |
| GrapesJS plugins ↗ | Library | BSD-3-Clause | Any (framework-agnostic) | 294.6 kB gzip | Free (open source) | Yes | Yes | 7.5 |
| GrapesJS Studio SDK plugins ↗ | Commercial SDK | Proprietary | Any (framework-agnostic) | Not measurable | Free tier, paid plans undisclosed | Yes | Yes | — |
| Lexical | Library | MIT | Any (framework-agnostic) | 104.9 kB gzip | Free (open source) | Yes | Yes | 7.4 |
| PageKit plugins ↗ | Commercial SDK | Proprietary | Any (framework-agnostic) | Not measurable | from $199 one-time | Yes | Yes | — |
| Plasmic | Commercial SDK | Proprietary | React | Not measurable | from $39/mo | No | No | — |
| Plate | Library | MIT | React | 150.8 kB gzip | Free (open source) | Yes | Yes | 8 |
| Puck | Library | MIT | React | 90.4 kB gzip | Free (open source) | Yes | Yes | 8 |
| Quill | Library | BSD-3-Clause | Any (framework-agnostic) | 58.7 kB gzip | Free (open source) | Yes | Yes | — |
| React Page | Library | MIT | React | 377.2 kB gzip | Free (open source) | Yes | Yes | 6.4 |
| Sanity Visual Editing | Headless CMS | MIT | React, Vue | Not measurable | from $15/mo | — | No | — |
| Silex | Library | GPL-3.0 OR MPL-2.0 | Any (framework-agnostic) | Not measurable | Free (open source) | Yes | Yes | — |
| Sitejet | Platform | Proprietary | Unverified | Not measurable | from $89/mo | No | — | — |
| Storyblok | Headless CMS | Proprietary | Any (framework-agnostic) | Not measurable | Free tier, paid plans undisclosed | No | No | — |
| Stripo Plugin | Commercial SDK | Proprietary | Any (framework-agnostic) | Not measurable | from $100/mo | No | Yes | — |
| TeleportHQ | Commercial SDK | Proprietary | Any (framework-agnostic) | Not measurable | from $9/mo | No | — | — |
| TinyMCE | Library | GPL-2.0-or-later OR commercial | Any (framework-agnostic) | 393.9 kB gzip | from $79/mo | Yes | — | — |
| Tiptap | Library | MIT | Any (framework-agnostic) | 123.3 kB gzip | Free tier, paid plans undisclosed | Yes | Yes | 8.3 |
| Topol Plugin | Commercial SDK | Proprietary | Any (framework-agnostic) | Not measurable | from $60/mo | No | Yes | — |
| Unlayer | Commercial SDK | Proprietary | Any (framework-agnostic) | Not measurable | from $250/mo | — | Yes | — |
| Webflow | Platform | Proprietary | Unverified | Not measurable | from $15/mo | No | No | — |
| Wix Studio | Platform | Proprietary | Unverified | Not measurable | from $19/mo | No | No | — |
| Zillapage | Platform | Proprietary | Unverified | Not measurable | Undisclosed | Yes | — | — |
Start from what you are building
Each of these pages is the same dataset filtered to one decision, with the trade-offs that matter for it written out.
- React page builder librariesEvery React page builder library in the EditorStack dataset, with licence, bundle size, SSR support and pricing side by side.
- Open source visual editorsOpen source visual editor libraries with permissive or copyleft licences, compared on bundle size, extensibility and ecosystem.
- Email editor SDKsEmbeddable email template builder SDKs — Unlayer, Beefree, Stripo, Topol and the open-source options — compared on pricing, white-label terms and export quality.
- White-label website buildersWhite-label website builder engines you can resell under your own brand, compared on licensing, hosting model and per-tenant cost.
- Self-hosted page buildersSelf-hosted visual editors and page builders: what you can run on your own infrastructure, and what each one costs to operate.
- Framework-agnostic visual editorsVisual editors with no framework lock-in — mountable in React, Vue, Angular or plain JavaScript.
- Headless CMS visual editingHeadless CMS platforms with visual editing: Storyblok, Sanity, Contentful Studio and Directus compared for developer teams.
- Free visual editor librariesFree drag-and-drop editor libraries you can ship in production without a licence fee, and what each free tier actually covers.
- Rich-text editor librariesRich-text and block document editors — CKEditor 5, TinyMCE, Tiptap, Lexical, Plate, BlockNote, Quill and Editor.js — compared on licence, measured bundle size, framework support and pricing.
How this comparison is built
Every fact in the table comes from a named source with the date we checked it. Licences, first-publish dates and current versions are read from the npm registry directly. Prices are taken from vendors' published pricing pages and labelled as vendor-published, because a price is a claim, not a measurement.
Bundle sizes are ours. We install each package on its own, import it through its documented entry point, bundle it with esbuild in production mode and gzip the result. The script is in the repository and the numbers fail the build if they drift from the recorded measurement run. Anything we could not verify is left empty rather than filled with a plausible number — that is why some cells say "Unverified" instead of a value.
We score only the products we have actually run. 8 libraries have scores; the commercial SDKs do not, because we have not put them through the same hands-on test and a score without that would be decoration. The reasoning is on the methodology page, and the funding relationship behind this site is on the disclosure page.