Design and interface · Edition No. 16 · 10 Sep 2026

puckeditor/puck

A drag-and-drop page editor you drop into your own React app.

← Design and interfaceRead the whole edition →
Puck: a visual editor for React. A drag-and-drop page editor for a React app.

13.3k stars · MIT · v0.23.0 (2026-08-07) · Track this in Rising ↗

Visual editor built natively for React components.

Verified27 Oct 2026

Radar check

What we found when we opened it. Every bar is one fact, with its date.

Alive100

Last code pushed 27 Oct 2026, the same day before this check.

Releases85

Latest release v0.23.0 on 7 Aug 2026.

Maturity70

Public since June 2023, a little over 3 years.

Adoption83

13,532 stars and 1,009 forks.

Activity85

111 commits and 32 new issues in the last 90 days.

Community80

91 contributors. 47 pull requests merged in 90 days.

Security80

A security policy says how to report a problem. No published security advisories.

Licence MIT | v0.23.0, 7 Aug 2026 | [puckeditor.: permissive: use it for anything, keep the notice
How the bars are scored
  • Alive. Days since the last code push: a week or less 100, a month 90, three months 70, six months 50, a year 30, eighteen months 15, older 0.
  • Releases. Age of the latest GitHub release, on a similar scale; no bar when the project publishes no releases.
  • Maturity. Age of the project: eight years 100, five 90, three 70, two 55, one 40, six months 25, younger 10.
  • Adoption. Stars on a log scale: 100,000 stars is 100, 10,000 is 80, 1,000 is 60, 100 is 40.
  • Activity. Commits in the last 90 days: 300 or more 100, 100 85, 30 65, 10 45, any 25.
  • Community. People who have contributed: 100 or more 100, 30 80, 10 60, 5 40, 2 25, one 10.
  • Security. A published security policy 80, none 40; published advisories are listed, not scored.

Checked by Repo Radar on 27 Oct 2026 from the repository on GitHub. Covered in Edition 16.

▶Repo detailsthe review · specs · pros & cons · install

What it does

Puck is a visual editor that is itself a React component. A developer registers their own components with it, says which settings each one exposes, and the person editing composes a page by dragging those blocks around. The output is a plain JSON structure describing the page, which the developer stores wherever their data already lives and renders themselves. The editor works in any React setting, including Next.js, and the project states there is no lock-in because the data belongs to whoever stored it. The npm package is @puckeditor/core, renamed from @measured/puck, so older tutorials point at the wrong name. It is a library rather than an application: it supplies no storage, no sign-in and no hosting page, and it does not manage content outside the layout of the page it is editing.

Why it matters

Who it suits. It fits a developer who keeps being asked to change wording and move sections on a landing page, and who would rather hand that job to the person asking. Because the components are registered in code, the page cannot end up off-brand: the editor only offers the blocks that were allowed, with the settings that were allowed. Skip it if the public site is Astro or plain HTML, because this needs React, and skip it if what is really wanted is a full content system with users, drafts and a database.

Verdict. Worth half a day if there is a React app already running and a page somebody else keeps asking to change. Be clear what it is not: it edits the layout of a page built from your components, and it does not own the content or the database. That boundary is the main difference from a full content system, and it is a feature rather than a gap. It is still before version 1.0, so pin the version. GrapesJS/grapesjs is the one to look at if React is not in the picture.

Stars13.3k
LicenceMIT
Latestv0.23.0 (2026-08-07)checked 7 Sep 2026
Written inTypeScript
Summary (Key Points)from the README
Key features
  • Modular design: Puck is described as a modular, open-source visual editor built as a React component.
  • Custom drag-and-drop: You build drag-and-drop experiences using your own application and React components.
  • Framework compatibility: Because it is a React component, the README says it works across React environments, including Next.js.
  • Data ownership: The README states you own your data and there is no vendor lock-in.
  • MIT license: The project is MIT licensed, which the README says suits both internal systems and commercial applications.
  • Starter recipes: create-puck-app scaffolds a pre-configured app from provided recipes, including a Next.js App Router example with static page generation and a React Router v7 example with dynamic routes.
  • Community resources: A Discord server for discussion and the awesome-puck repo for plugins and custom fields are listed.
Ways to install
Platform or methodWhat it needsEffort
Install the package and render the editor and page yourselfA React application; the README does not list other requirementsManual setup, with separate steps to render the editor and the page
create-puck-app with a recipe (next or react-router)Not specified in the README beyond choosing a recipeLower, since it generates a pre-configured app
Important
  • Missing requirements: The README does not state supported React, Next.js or Node versions, so check these before starting.
  • Install commands not shown: The README text omits the exact install and create-puck-app commands, so refer to the full documentation for them.
  • Community plugins: The awesome-puck plugins and custom fields come from a community repo, so their quality and maintenance are not covered by the README.
  • Hands-on support: The README points to a discovery call for hands-on support and consultancy, and gives no details on terms or cost.

Written by an AI model from the project’s README; not part of the review, and it can be wrong.

Good
  • MIT, and the project states it is fine for commercial use. There is no paid edition of the editor.
  • The person editing can only use blocks a developer defined, so the page cannot end up off-brand.
  • The output is plain JSON. It goes wherever the data already lives, and rendering stays in your hands.
Watch for
  • It is a library, not an application. The storage, the sign-in and the page that hosts it all have to be supplied.
  • It needs React. On an Astro or plain-HTML site this is not a small addition.
  • Still before version 1.0, and the package was renamed from @measured/puck to @puckeditor/core. Old tutorials send you to the wrong package.
Install
npm i @puckeditor/core --save
Screenshots
puckeditor/puck: GitHub preview cardpuckeditor/puck: Screenshot 1

On Stack Radar: Design & Creative › UI/UX Design › Interface Design.

Get the next edition in your inbox

A dozen repositories, opened and checked. The licence read, the last release dated, and the ones that did not make it named with the reason. It is the half most lists leave out.

No tracking pixels. One click to leave. The archive stays free either way.

We use your address to send the edition and nothing else. Confirm by email, leave in one click. How we handle it.