Open-source monorepo of SDKs, examples, and starters for Builder.io's visual development platform across React, Vue, Svelte, Qwik and more.
- Stars
- 13,490
- Forks
- 1,001
- Open issues
- 198
- Last commit
- 4 days ago
What is it?
Puck is a visual editor for React.js that lets you build drag-and-drop page experiences out of your own application components. It is distributed as a React component, so it can be embedded into existing React apps and works with environments such as Next.js.
You define a config that maps component names to their editable fields and render functions. The editor produces a JSON data structure that you save to your own database, and a separate Render component turns that data back into a page. Data stays under your control, with no hosted backend required.
The project is MIT licensed, so it can be used in internal tools and commercial products. Starter recipes for Next.js and React Router v7 are available through create-puck-app.
Key features
- 01Drag-and-drop editing built from your own React components.
- 02Component config defines editable fields and render output.
- 03Editor output is plain JSON that you store in your own database.
- 04A separate Render component displays saved pages.
- 05Works in Next.js and other React environments.
- 06Starter recipes available via create-puck-app.
Use cases
- Letting non-developers assemble landing pages from an existing design system.
- Adding a page builder to a React or Next.js content management workflow.
- Building internal tools where marketing teams edit layouts without code.
Quick start
- 1
Install the package
npm i @puckeditor/core --save - 2
Render the editor with Puck component and config
- 3
Render the published page with the Render component
Things to know
- Requires a React project; it is a React component, not a standalone app.
Topics
FAQ
- What is puck?
- A modular, open-source visual drag-and-drop editor for React that renders with your own components and data. Puck is a visual editor for React.js that lets you build drag-and-drop page experiences out of your own application components. It is distributed as a React component, so it can be embedded into existing React apps and works with environments such as Next.js.
- Is puck free to use? What license does it have?
- puck is open source under the MIT license. Check the license terms before using it in commercial products.
- Is puck still maintained?
- Actively maintained. The last commit to puck was on Oct 16, 2026.
- What can I use puck for?
- Letting non-developers assemble landing pages from an existing design system. Adding a page builder to a React or Next.js content management workflow. Building internal tools where marketing teams edit layouts without code.
- How do I install puck?
- Install the package: npm i @puckeditor/core --save Render the editor with Puck component and config Render the published page with the Render component
- Where can I get puck?
- The source code and installation instructions are on GitHub: https://github.com/puckeditor/puck
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A TypeScript music player focused on full-screen animated lyrics, supporting NetEase, QQ, Kugou, Navidrome and local libraries.
Open-source AI education platform that turns study materials into quizzes, flashcards, Cornell-style notes, and podcasts, inspired by NotebookLM.
Open-source whiteboard app for real-time team collaboration and drawing, built on the tldraw engine with AI features.
A self-hosted web app that audits up to 500 pages of a website across 74 on-page SEO metrics, using Firecrawl and DataForSEO.
Open-source workflow automation platform and alternative to Zapier, with TypeScript-based integrations that also run as MCP servers for AI agents.