Introduction
Builder.io provides an open-source SDK that renders visually-designed content inside your application using your own components. Developers register their React, Vue, Svelte, or Qwik components, and content editors assemble pages visually through the Builder drag-and-drop interface.
What Builder.io Does
- Renders visual content built in a drag-and-drop editor using your framework components
- Provides SDKs for React, Next.js, Vue, Nuxt, Svelte, Qwik, Angular, and more
- Allows component registration so editors use your design system, not generic HTML blocks
- Delivers content via a CDN-backed API with A/B testing and targeting built in
- Supports Figma-to-code conversion to generate components from design files
Architecture Overview
The Builder SDK works as a rendering layer. Content is authored in the Builder visual editor and stored as a structured JSON document on the Builder CDN. At render time, the SDK fetches the content JSON and maps each block to the corresponding registered component in your application. Custom components are registered with metadata describing their inputs, so the visual editor knows how to configure them. The SDK supports both server-side and client-side rendering.
Self-Hosting & Configuration
- Install the SDK for your framework (e.g.,
@builder.io/sdk-reactfor React) - Initialize the SDK with your public API key from the Builder dashboard
- Register custom components using
Builder.registerComponent()with input definitions - Fetch content by model name and URL path, then pass it to the
BuilderComponent - Use the
@builder.io/dev-toolspackage for local development with live preview
Key Features
- Multi-framework: a single visual editor works across React, Vue, Svelte, Qwik, and Angular
- Component-driven: editors build with your real components, not generic HTML
- A/B testing: built-in split testing with automatic winner selection
- Scheduling and targeting: publish content based on date ranges, audiences, or URL patterns
- Figma integration: import designs and generate editable components from Figma files
Comparison with Similar Tools
- GrapesJS — standalone HTML builder; Builder.io integrates into your existing component framework
- Storyblok — headless CMS with visual editing; Builder.io focuses on component-driven page building with its own SDKs
- Plasmic — visual builder for React; Builder.io supports multiple frameworks and includes A/B testing
- Contentful — API-first CMS without visual editing; Builder.io combines content delivery with a visual page builder
- Webflow — all-in-one website builder; Builder.io embeds into your existing codebase as a component
FAQ
Q: Is the SDK open source? A: Yes. The rendering SDKs are open source under the MIT license. The visual editor and hosting are provided as a service through Builder.io.
Q: Can I use Builder.io with server-side rendering? A: Yes. The SDK supports SSR with Next.js, Nuxt, SvelteKit, and other server-rendering frameworks. Content is fetched at build or request time and rendered on the server.
Q: Do I need the Builder.io platform to use the SDK? A: The SDK renders content from the Builder API. You need a Builder.io account (free tier available) to create content in the visual editor. The SDK itself is open source.
Q: How does Builder.io handle performance? A: Content is served from a global CDN. The SDK lazy-loads components and supports static generation, so pages can be pre-rendered at build time with no client-side content fetches.