13.3k stars · MIT · v0.23.0 (2026-08-07)
Visual editor built natively for React components.
▶Repo detailsthe review · specs · pros & cons · install
What it is
Puck is a visual editor for React. You register your own components with it, and the person editing composes a page from them; the output is a JSON structure that you store and render yourself.What it is good for. Anyone who keeps being asked to change wording and move sections on a landing page. It moves that job to the person who wants it changed. Because you register the components, they cannot break the design — they get your blocks, with the options you allowed. This is the key difference from a full CMS: Puck edits the layout of a page built from your code, and it does not own your content or your database. GrapesJS from Edition 6 and Onlook from Edition 12 solve nearby problems, and it is worth reading all three before choosing.
- MIT, with the project stating it is fine for commercial use. No paid edition of the editor.
- The editing person can only use blocks you defined, so the page cannot end up off-brand.
- The output is plain JSON. You keep it wherever you already keep data, and rendering stays yours.
- It is a library, not an application. You supply the storage, the login and the page that hosts it.
- It needs a React app. If your public site is Astro or plain HTML, this is not a small addition.
- Still before version 1.0, and the npm package was renamed from
@measured/puckto@puckeditor/core. Old tutorials will send you to the wrong package.
npm i @puckeditor/core --save