Who BuilderJS is for
BuilderJS is an embeddable, framework-agnostic, vanilla-JS drag-and-drop builder library (~140KB) that mounts in any DOM node — React, Vue, Svelte, Angular, Next.js, Laravel, or plain HTML. It is the editor your users see, not a platform. It builds both web/landing-page HTML and Outlook-safe email HTML, stores everything as lossless JSON via getData()/load(), and ships 42 element types, 59 controls, 31 overlays, 30+ templates and 200+ Litmus-tested samples. What it does not do is the operational part: BuilderJS does not send email, host or publish pages, run funnels, or process payments. You embed the editor; you bring the sending (your ESP), the hosting (your stack), and the data (your database). That split is exactly why it fits so many different products. This hub maps the audiences and use cases BuilderJS serves — SaaS apps adding a content editor, agencies productizing a white-label tool, CMS and course platforms, transactional-email teams, and e-commerce stores — and links to a focused page for each so you can see how the embed-and-bring-your-own model applies to your build. You can try the editor live at builder.emotsy.com.
SaaS apps that need a built-in editor
If your SaaS lets customers create something — emails, landing pages, newsletters, in-app announcements — you eventually need a real visual editor, and building one from scratch costs quarters of engineering. BuilderJS drops into your existing app as a client-side bundle: mount it in a useEffect (React), onMounted (Vue), ngAfterViewInit (Angular), or onMount (Svelte), and in Next.js use a dynamic import with ssr:false plus 'use client'. Your users drag, drop and style; you call getData() to capture lossless JSON and POST it to your own route, then load() it back later — a clean round-trip you fully control. BuilderJS is multi-tenant capable through closure-captured configuration, but your app still owns tenant isolation, seats and billing. It builds the markup; your stack handles whatever happens next, whether that's queuing an email through your ESP or rendering a saved page. See /for/saas/ for the integration shape.
Agencies and white-label builders
Agencies and product studios often want to hand clients a polished editor that carries their own brand, not a third party's. Because BuilderJS is source you own under a one-time CodeCanyon license (item 27146783, Regular $52 / Extended $99), you can self-host it, restyle it with themes, localize it across 20+ locales including RTL, and extend it without forking — register custom Elements, Widgets and Controls via Builder.registerElement. There is no SaaS subscription, no per-seat charge, no usage metering and no phone-home, so you are not re-selling someone else's metered tool. For comparison and context only: Webflow's Team plan is around $2,500/mo on an annual contract (as of June 2026, per Webflow's May 2026 pricing update, https://help.webflow.com/hc/en-us/articles/51059955082387-Updated-pricing-and-simplified-plans-for-May-2026), and Elementor's Agency plan is about $399/year for up to 1,000 sites (as of June 2026, per Elementor's pricing page, https://elementor.com/pricing/). BuilderJS is the embeddable editor inside your product; the sending or hosting still comes from you or your client. See /for/agencies/ and /white-label-builder/.
CMS, course and content platforms
Content platforms — a CMS, an LMS, a course builder, a knowledge base — live and die by their editing experience. BuilderJS gives non-technical authors a drag-and-drop canvas while your platform keeps full control of storage and rendering: the editor emits JSON you persist however you like (the reference PHP backends show MySQL, SQLite and S3 save/upload/auth patterns you copy and own, and you can port them to Node, Go or Python). Authors build pages, lesson layouts or rich documents; your platform decides how and where they're published — BuilderJS itself does not host or publish anything. Free and open frameworks exist in this space too; GrapesJS, for example, is a finished, BSD-3-Clause-licensed core (as of June 2026, per the GrapesJS LICENSE file, https://github.com/GrapesJS/grapesjs/blob/dev/LICENSE). BuilderJS competes not on price but on being a finished, supported, framework-agnostic editor that builds both email and pages out of one library. See /for/cms/.
Transactional email and e-commerce teams
Two audiences share the same hard problem: producing email HTML that survives Outlook and dozens of other clients. BuilderJS includes an EmailExportPipeline that converts flexbox layouts to tables, SVG to PNG, adds @media mobile-stacking and MSO conditionals, and inlines CSS — output that's been Litmus-tested across 22 clients. Transactional teams design receipts, password resets and notifications as templates; e-commerce teams design promo emails, abandoned-cart messages and product-grid pages. In both cases BuilderJS builds the template or markup — it never sends. You bring the ESP or transactional provider (your own SMTP, your sending service) and the order or event data; BuilderJS hands you the JSON and the export-ready HTML. For analogy only, Mailchimp's Standard plan starts around $20/mo at 500 contacts (as of June 2026, per Mailchimp's pricing page, https://mailchimp.com/pricing/marketing/) — but that's a sending platform, not an embeddable editor. See /for/transactional-email/ and /for/ecommerce/.
Explore
- BuilderJS for SaaS apps
- BuilderJS for agencies
- BuilderJS for CMS & course platforms
- BuilderJS for transactional email
- BuilderJS for e-commerce
- Embeddable builder
- White-label builder
- For developer platforms
- For headless CMS
- For email-marketing platforms
- For CRM software
- For marketing-automation platforms
- For newsletter platforms
- For LMS & course platforms
- For help-desk & support platforms
Frequently asked questions
-
Does BuilderJS send emails or host the pages I build?
No. BuilderJS is the editor you embed — it builds web-page HTML and Outlook-safe email HTML and returns lossless JSON. It never sends email, hosts, publishes, or runs funnels. You bring your own ESP/SMTP for sending and your own stack for hosting; BuilderJS just produces the markup and data you save via getData().
-
Which frameworks and stacks can I embed BuilderJS in?
Any of them. It's a framework-agnostic, vanilla-JS DOM-mount bundle (dist/builder.js + dist/builder.css, ~140KB) that mounts in any DOM node. Mount client-side: useEffect in React, onMounted in Vue, ngAfterViewInit in Angular, onMount in Svelte, and a dynamic import with ssr:false plus 'use client' in Next.js. It works equally with Laravel or plain HTML.
-
Is BuilderJS a published npm React or Vue component?
No. It's a DOM-mount bundle, not a packaged React/Vue/Angular component. You include the bundle and mount it into an element you control, on the client side only. Persistence is your call: read getData() and POST the JSON to your own route or backend, then load() it back to restore the design.
-
How does BuilderJS handle multi-tenant SaaS?
BuilderJS is multi-tenant capable via closure-captured configuration, so each tenant's editor can be configured independently. But your application owns the hard parts — tenant isolation, seats, billing and access control. BuilderJS supplies the editing surface and the JSON; it does not manage accounts or usage.
-
What does the license cover, and is there a subscription?
BuilderJS ships under a one-time CodeCanyon license (item 27146783): Regular $52 and Extended $99. You own the source and self-host it. There's no SaaS plan, no monthly fee, no per-seat charge, no usage metering and no phone-home. Author support is time-boxed (roughly 6–12 months), and you keep using the source you bought after that.
-
Can I extend or rebrand BuilderJS without forking it?
Yes. You can register custom Elements, Widgets and Controls via Builder.registerElement, apply themes, localize across 20+ locales with RTL support, and wire pluggable vendor-neutral AI hooks — all without forking the codebase. The reference PHP backends (MySQL/SQLite/S3 save/upload/auth) are yours to copy, own and port to Node, Go or Python.