Independent research database · 34 products
Find the right visual editor for your product
Compare 34 visual editors, page builders and editor SDKs by framework, licensing, pricing, self-hosting, white-label support and real-world benchmarks — for developers choosing the editor they will embed and maintain.
- products profiled
- 34
- bundle sizes we measured
- 12
- head-to-head comparisons
- 57
- data last verified
- 2026-09-17
Start from the problem
Popular use cases
Each count is the number of products in the dataset that fit that use case today.
- SaaS page builder11 fitA drag-and-drop page builder embedded in your own product.e.g. GrapesJS, Unlayer, Beefree SDK
- Email editor5 fitTemplate editing that outputs email-client-safe HTML.e.g. Unlayer, Beefree SDK, GrapesJS Studio SDK
- React page builder11 fitEditors that render your own React components in the canvas.e.g. GrapesJS, Unlayer, Beefree SDK
- White-label builder20 fitBuilders you can ship under your own brand.e.g. Tiptap, Quill, Lexical
- Document editor5 fitBlock-based, Notion-style long-form editing.e.g. Tiptap, CKEditor 5, BlockNote
- Rich text editor7 fitFormatted text inside a field, a comment box or an article.e.g. Tiptap, Quill, Lexical
Head to head
Popular comparisons
Written comparisons with the trade-offs, not only a feature grid. All 57 comparisons.
- GrapesJS vs PuckHTML canvas or React components?
- GrapesJS vs Craft.jsa finished engine or a toolkit to build one
- GrapesJS vs Unlayerfree engine or tested output
- Unlayer vs Beefree SDKthe two established embeddable email builders
- Tiptap vs CKEditor 5build the editor, or buy the finished one
- Puck vs Craft.jsan editor you configure or an editor you write
Filter
Browse by requirement
If you only read one thing
Short answers
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.
Editor database
All 34 products
Sort any column, filter by requirement, pick columns. Filters live in the URL, so a filtered view can be shared; every row is in the page source, so the table reads without JavaScript. Benchmarks are our own measurements — see the bundle size benchmark.
34 of 34 products
| Framework | Website | |||||||
|---|---|---|---|---|---|---|---|---|
| Beefree SDK | Commercial SDK | Any framework | Proprietary | No | Yes | from $350/mo | Not benchmarked | developers.beefree.io |
| BlockNote | Library | React, Vue | MPL-2.0 | Yes | Yes | from $195/mo | 386.1 kB | blocknotejs.org |
| Brizy | Platform | Unverified | Proprietary | Unverified | Yes | from $159/mo | Not benchmarked | brizy.io |
| Builder.io | Commercial SDK | React, Vue, Angular | Proprietary | No | Unverified | from $19/mo | Not benchmarked | builder.io |
| CKEditor 5 | Library | Any framework | GPL-2.0-or-later OR commercial | Yes | Unverified | from $144/mo | 161.2 kB | ckeditor.com |
| Contentful Studio | Headless CMS | React | MIT | No | No | Quote only | Not benchmarked | contentful.com |
| Craft.js | Library | React | MIT | Yes | Yes | Free (open source) | 29.2 kB · 94 ms to editor | craft.js.org |
| Directus | Headless CMS | Any framework | BSL-1.1 | Yes | Yes | from $99/mo | Not benchmarked | directus.io |
| Duda | Platform | Unverified | Proprietary | No | Yes | from $19/mo | Not benchmarked | duda.co |
| Editor.js | Library | Any framework | Apache-2.0 | Yes | Yes | Free (open source) | 64.3 kB · 70 ms to editor | editorjs.io |
| Elementor | Platform | Unverified | GPL-3.0 | Yes | Unverified | from $59/yr | Not benchmarked | elementor.com |
| Framer | Platform | React | Proprietary | No | No | from $10/mo | Not benchmarked | framer.com |
| GrapesJS plugins ↗ | Library | Any framework | BSD-3-Clause | Yes | Yes | Free (open source) | 294.6 kB · 309 ms to editor | grapesjs.com |
| GrapesJS Studio SDK plugins ↗ | Commercial SDK | Any framework | Proprietary | Yes | Yes | Free tier, paid plans undisclosed | Not benchmarked | grapesjs.com |
| Lexical | Library | Any framework | MIT | Yes | Yes | Free (open source) | 104.9 kB · 159 ms to editor | lexical.dev |
| PageKit plugins ↗ | Commercial SDK | Any framework | Proprietary | Yes | Yes | from $199 one-time | Not benchmarked | pagekit.gjs.market |
| Plasmic | Commercial SDK | React | Proprietary | No | No | from $39/mo | Not benchmarked | plasmic.app |
| Plate | Library | React | MIT | Yes | Yes | Free (open source) | 150.8 kB · 209 ms to editor | platejs.org |
| Puck | Library | React | MIT | Yes | Yes | Free (open source) | 90.4 kB · 852 ms to editor | puckeditor.com |
| Quill | Library | Any framework | BSD-3-Clause | Yes | Yes | Free (open source) | 58.7 kB | quilljs.com |
| React Page | Library | React | MIT | Yes | Yes | Free (open source) | 377.2 kB · 1004 ms to editor | react-page.github.io |
| Sanity Visual Editing | Headless CMS | React, Vue | MIT | Unverified | No | from $15/mo | Not benchmarked | sanity.io |
| Silex | Library | Any framework | GPL-3.0 OR MPL-2.0 | Yes | Yes | Free (open source) | Not benchmarked | silex.me |
| Sitejet | Platform | Unverified | Proprietary | No | Unverified | from $89/mo | Not benchmarked | sitejet.io |
| Storyblok | Headless CMS | Any framework | Proprietary | No | No | Free tier, paid plans undisclosed | Not benchmarked | storyblok.com |
| Stripo Plugin | Commercial SDK | Any framework | Proprietary | No | Yes | from $100/mo | Not benchmarked | stripo.email |
| TeleportHQ | Commercial SDK | Any framework | Proprietary | No | Unverified | from $9/mo | Not benchmarked | teleporthq.io |
| TinyMCE | Library | Any framework | GPL-2.0-or-later OR commercial | Yes | Unverified | from $79/mo | 393.9 kB | tiny.cloud |
| Tiptap | Library | Any framework | MIT | Yes | Yes | Free tier, paid plans undisclosed | 123.3 kB · 171 ms to editor | tiptap.dev |
| Topol Plugin | Commercial SDK | Any framework | Proprietary | No | Yes | from $60/mo | Not benchmarked | topol.io |
| Unlayer | Commercial SDK | Any framework | Proprietary | Unverified | Yes | from $250/mo | Not benchmarked | unlayer.com |
| Webflow | Platform | Unverified | Proprietary | No | No | from $15/mo | Not benchmarked | webflow.com |
| Wix Studio | Platform | Unverified | Proprietary | No | No | from $19/mo | Not benchmarked | wix.com |
| Zillapage | Platform | Unverified | Proprietary | Yes | Unverified | Undisclosed | Not benchmarked | codecanyon.net |
EditorStack benchmark
Measured, not quoted
12 of 34 products have been run through our documented benchmark. The numbers below are measurements with a run id, not a ranking: a smaller bundle is cheaper to ship, but says nothing about fit. Products without a number have not been tested yet — that is a gap in our coverage, not a verdict.
| Product | Bundle (min+gzip) | Time to first editor |
|---|---|---|
| Craft.js | 29.2 kB | 94 ms |
| Quill | 58.7 kB | — |
| Editor.js | 64.3 kB | 70 ms |
| Puck | 90.4 kB | 852 ms |
| Lexical | 104.9 kB | 159 ms |
| Tiptap | 123.3 kB | 171 ms |
| Plate | 150.8 kB | 209 ms |
| CKEditor 5 | 161.2 kB | — |
| GrapesJS | 294.6 kB | 309 ms |
| React Page | 377.2 kB | 1004 ms |
| BlockNote | 386.1 kB | — |
| TinyMCE | 393.9 kB | — |
Runs bundles-2026-09-17 and tte-2026-08-20. All benchmark results and limitations · bundle size benchmark · time-to-first-editor benchmark · methodology.
Playground
Try editors before choosing one
A working GrapesJS editor runs in your browser, with switchable block sets and code export, so you can judge the editing model before you install anything.
Open the playgroundData for developers & AI
The whole dataset, machine-readable
Everything on this site comes from one dataset, published under CC BY 4.0 for research, internal tooling and AI agents.
Dataset documentationCategories
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.
- Embeddable page builders and SDKsPage builder libraries and SDKs you can embed in your own SaaS product: open-source engines versus licence-key SDKs, compared on framework support, hosting, white-label terms and price.
About the data
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.
There is no overall score. Products we have built with carry per-axis editorial ratings on their own pages, each argued in writing; everything else is data you can sort and filter yourself. The reasoning is on the methodology page. EditorStack is operated by the team behind GJS.Market; how that relationship is kept out of the data is on the disclosure page.