Builder

Drag and drop headless CMS for React, Vue, Svelte, Qwik, and more

Stars
6.08K
Forks
776
Open issues
301
Closed issues
132
Last release
5 months ago
Last commit
5 months ago
Watchers
6.08K
Total releases
20
Total commits
5.88K
Open PRs
218
Closed PRs
2.01K
Repo URL
Platform
License
mit
Category
Usecase
CMS
Offers premium version?
NO
Proprietary?
NO
About




The Drag & Drop Headless CMS

Integrate with any site or app. Drag and drop with the components already in your codebase.



Register components
Rendered your visually created content

import { Builder } from '@builder.io/react'
 
// Register our heading component for use in
// the visual editor
const Heading = props => (
  <h1 className="my-heading">{props.title}</h1>
)
 
Builder.registerComponent(Heading, {
  name: 'Heading',
  inputs: [{ name: 'title', type: 'text' }]
})

import { BuilderComponent, builder } from '@builder.io/react'
 
builder.init('YOUR_KEY')
 
export const getStaticProps = async () => ({ 
  props: {
    builderJson: await builder.get('page', { url: '/' }).promise()
  }
})
 
export function BuilderPage({ builderJson }) => {
  return <>
    <YourHeader />
    <BuilderComponent model="page" content={builderJson} />
    <YourFooter />
  </>
}

Get Started

See our full getting started docs, or jump right into integration. We generally recommend to start with page buliding as your initial integration:

Integrate Page Building
Integrate Section Building
Integrate Structured Data



  <a href="https://www.builder.io/c/docs/integrating-builder-pages" rel="nofollow">

  </a>


  <a href="https://www.builder.io/c/docs/integrate-section-building" rel="nofollow">

  </a>


  <a href="https://www.builder.io/c/docs/integrate-cms-data" rel="nofollow">

  </a>

Try it out!

Try the code in your browser with the Builder playground:



Editor Demo
Commerce Example
Blog Example



  <a href="https://builder.io/demo" rel="nofollow">

  </a>


  <a href="https://builder.io/demo/commerce?demoHost=nextjs-edge-personalization-demo-git-editor-demo-builder-io.vercel.app&amp;demoModel=page" rel="nofollow">

  </a>


  <a href="https://builder.io/demo/blog/example?demoHost=blog-example-builder-io.vercel.app&amp;demoModel=blog-post&amp;demoPath=/blog/example" rel="nofollow">

  </a>

Why Builder.io?

Hardcoding layouts for frequently changing content bottlenecks your team and makes releases messy

Using an API-driven UI allows you to:

  • Decouple page updates from deploys
  • Schedule, a/b test, and personalize via APIs
  • Reduce code + increase composability


How does it work?

  • Integrate the Builder API or SDK to your site or app
  • Create a free account on builder.io and drag and drop to create and publish pages and content

Learn more about how builder works here

How is the performance?

Performance is our top priority. All content is delivered from the edge, renderable server side or statically, we optimize the heck out of it and our SDKs are small and mighty.

Importantly, there are no hacks here - no iframes, no unneeded client side code or rendering, our rule of thumb is we produce content just like if you wrote it by hand. Assets are optimized, DOM is minimized, and it's all native to your framework (so all React components if you use React, Svelte for Svelte, etc)

See more about how Builder works, or take a look at the perf of our own site (built completely in Builder):

How is the content structured?

In Builder, content is structured in models, and customized with custom fields and targeting

  • Builder pages - full drag and drop control between your site's header and footer. Try it out
  • Builder sections - make a part of a page visually editable in Builder and use our targeting and scheduling to decide who sees what. Try it out
  • Builder data - fetch structured data from Builder and use it anywhere in your application (e.g. menu items, structured pages). Try it out

Read more about how builder works here

See here for examples on how to structure a site with Builder

Featured Integrations

    <a href="https://www.builder.io/c/docs/developers?codeFramework=rest" rel="nofollow">


      <p>
        REST API
      </p></a><p>

  </p>


    <a href="https://apps.shopify.com/builder-2" rel="nofollow">


      <p>
        Shopify
      </p>
    </a>


    <a href="https://github.com/builderio/html-to-figma" rel="nofollow">


      <p>
        Figma
      </p>
    </a>


    <a href="https://www.builder.io/c/docs/developers?codeFramework=react" rel="nofollow">


      <p>
        React
      </p>
    </a>


    <a href="https://www.builder.io/c/docs/developers?codeFramework=next" rel="nofollow">


      <p>
        Next.js
      </p>
    </a>




    <a href="https://www.builder.io/c/docs/developers?codeFramework=gatsby" rel="nofollow">


      <p>
        Gatsby
      </p>
    </a>


    <a href="https://www.builder.io/c/docs/developers?codeFramework=vue" rel="nofollow">


      <p>
        Vue
      </p>
    </a>


    <a href="https://www.builder.io/c/docs/developers?codeFramework=nuxt" rel="nofollow">


      <p>
        Nuxt
      </p>
    </a>


    <a href="https://www.builder.io/c/docs/developers?codeFramework=angular" rel="nofollow">


      <p>
        Angular
      </p>
    </a>


    <a href="https://www.builder.io/c/docs/developers?codeFramework=webcomponents" rel="nofollow">


      <p>
        Web Components
      </p>
    </a>


Don't see an integration you're looking for? Our HTML API, Content APIs, and GraphQL APIs works for all tech stacks and frameworks.

What's in this repository?

This repo houses all of the various SDKs, usage examples, starter projects, and plugins.

Structuring your site

There are a lot of ways you can use Builder for your site. Some of the main questions you'll want to ask yourselves - what on your site should be in your code vs in Builder.

As a general rule, parts of your site that should be managed by non developers should probably be in Builder. Parts that are complex with a lot of code, should probably be in your codebase. Using custom components in your Builder content can help you strike a good balance here as well

Here are some examples we recommend for how to structure various pages on your site, for instance for a headless commerce site:

How the Builder.io platform works

Data models, components, SEO, and more

Builder.io gives you a ton more power and control than just page building. Check our guides on

Additional framework support:

As well as some handy power features like:

Join the community!

Questions? Requests? Feedback? Chat with us in our official forum!

Troubleshooting and feedback

Problems? Requests? Open an issue. We always want to hear feedback and interesting new use cases and are happy to help.

We're hiring!

Help us enable anyone to build digital experiences and bring more ideas to life --> https://www.builder.io/m/careers

Alternative Projects

Subscribe to Open Source Businees Newsletter

Twice a month we will interview people behind open source businesses. We will talk about how they are building a business on top of open source projects.

We'll never share your email with anyone else.