Welcome to the Puck documentation!
Puck is a modular, open-source visual editor for React.js. You can use Puck to build custom drag-and-drop experiences with your own application and React components.
Because Puck is just a React component, it plays well with all React.js environments, including Next.js. You own your data and there's no vendor lock-in.
Puck is also licensed under MIT, making it suitable for both internal systems and commercial applications.
|Integrate your own components with Puck by providing render functions and configuring fields that map to your props.
|Customize the root component that wraps all other Puck components.
|Use DropZones to build more multi-column layouts by nesting components.
|Group your components in the side bar.
|Dynamically set props after user input and mark fields as read-only
|External Data Sources
|Load content from a third-party CMS or other data source
|Opt-in support for React Server Components
|Migrate between breaking Puck releases and your own breaking prop changes
Puck is developed and maintained by Measured, a small group of industry veterans with decades of experience helping companies solve hard UI problems. We offer consultancy and development services for scale-ups, SMEs and enterprises.
If you need support integrating Puck or creating a beautiful component library, please reach out via our website (opens in a new tab).
Puck is licensed under MIT.