Refine CORE: a headless React meta-framework for CRUD apps, and where its edges are
A React Framework for building internal tools, admin panels, dashboards & B2B apps with unmatched flexibility.
At a glance
- What is it?
- refinedev/refine is an MIT licensed TypeScript monorepo for building admin panels, dashboards and internal tools on React. Its headless design separates business logic from UI and routing, which buys flexibility and hands you the UI work outside four supported kits.
- Who is it for?
- Refine CORE fits teams building CRUD-heavy internal tools on React who want hooks for auth, access control, routing and data fetching without being locked to one UI kit. Teams that want a finished visual admin with no component work, or a UI library outside Ant Design, Material UI, Mantine and Chakra UI, should expect to build more themselves.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 65 days ago.
- What is it written in?
- Mainly TypeScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on November 13, 2026, and from our analysis. They are not legal advice.
Star history
- refinedev/refine36,035 ★ · +619
| Repository | 2026-07-29 | 2026-11-13 |
|---|---|---|
| refinedev/refine | 35.4k | 36k |
619 Stars in the last 107 days, measured from the daily GitHub snapshot. Compare with other projects
Editorial analysis
Business logic is decoupled from UI and routing
Refine CORE describes itself as a React meta-framework for CRUD-heavy web applications such as internal tools, admin panels, dashboards and B2B apps, and pitches itself as the sweet spot between low-code builders and starting from scratch. Its hooks and components cover authentication, access control, routing, networking, state management and i18n. The key design choice is headless: logic lives apart from UI and routing, and a simple routing interface lets the same app target Next.js, Remix, React Native or Electron without extra setup steps. State management and mutations run on React Query, so caching and refetching behave the way React Query users already expect. SSR is supported with Next.js and Remix, and routing can use any router library you choose.
Only four UI kits get built-in components
Built-in support exists for Ant Design, Material UI, Mantine and Chakra UI, published as packages like @refinedev/mui. Other designs, TailwindCSS included, are possible through the headless layer, but there is no prebuilt component set for them in that list. The consequence: on Tailwind or an in-house design system you write the layouts, tables, filters and forms yourself, and the auto-generated CRUD UI based on your API data structure saves less time than it does on the four supported kits. Choosing a UI kit is therefore a bigger decision than it looks. Picking one of the four gets you `ThemedLayout` style components on day one; picking anything else turns Refine into a set of data and auth hooks that you style from nothing.
Data providers: packaged connectors and external names
The project claims connectors for more than 15 backend services. REST API, GraphQL, NestJs CRUD, Airtable, Strapi, Strapi v4, Supabase, Hasura, Appwrite and Nestjs-Query link to folders under packages/ in this repository. Firebase, Sanity and Directus are listed too, but their links point to the vendors' own sites rather than a package folder here. If your backend is one of those three, find out where its provider is maintained and who releases it before you depend on it, because it does not sit beside the others in this monorepo and will not follow the same changesets. A custom backend is handled the same way as the packaged ones: you pass a `dataProvider` object to the `Refine` component.
Starting a project with create-refine-app
New projects start from the create-refine-app scaffolder:
npm create refine-app@latest my-refine-appThere is also an in-browser playground at refine.dev/core, and Refine's hosted AI agent, which Refine CORE powers, can generate projects as well. The quick start example wires the `Refine` component with `dataProvider` from @refinedev/simple-rest pointed at https://api.fake-rest.refine.dev, `routerProvider` from @refinedev/react-router, `ThemedLayout` from @refinedev/mui, and `BrowserRouter`, `Routes` and `Route` from react-router. Swapping the fake API for your own means replacing the data provider rather than rewriting pages, and swapping MUI means replacing the layout and page components.
Release tags trail the main branch
The last push to the repository was September 10, 2026, but the most recent listed releases are older: @refinedev/core 5.0.12 on April 2, 2026, @refinedev/mui 8.0.2 on March 23, 2026, and @refinedev/devtools 2.0.5 on March 16, 2026. Each package is versioned on its own and changes are tracked with changesets. For an app, this means a fix merged to main may not be on npm yet, and the version numbers of core, mui and devtools do not move together, so pin each one explicitly and read each package's changelog rather than assuming a shared release line.
Contributing means pnpm, Lerna and Nx together
The root package.json is private and drives a pnpm workspace through Lerna and Nx. `pnpm build` builds only @refinedev/core, while `build:all` builds every @refinedev package plus create-refine-app, and `dev:docs` runs the documentation site next to the live previews package. A `pnpm:devPreinstall` hook runs scripts/fix-pnpm-symlinks.js, linting uses Biome, commit messages go through commitlint and Husky, and `cypress:run` launches end-to-end tests in Chrome only. The `coffee` script runs `nuke`, which deletes the Nx cache, node_modules, build folders and lockfiles across packages before reinstalling and building everything, so run it only when you accept a full rebuild.
Examples cover auth providers and access control libraries
The examples folder is where the integration surface shows. It includes access control with Casbin, Cerbos and Permify, auth with Auth0, Keycloak, Kinde, Google login and OTP, audit log providers, and base apps for Ant Design, Chakra UI and headless setups. Live templates on refine.dev include a CRM, an admin panel, a Win95 style admin panel, a PDF invoice generator, a Medium clone, a multitenancy example on Strapi and a Next.js storefront, which shows the SSR path for customer-facing apps. Devtools, live and real-time updates, audit logs and document versioning round out the feature list.
Editorial conclusion
Refine CORE fits teams building CRUD-heavy internal tools on React who want hooks for auth, access control, routing and data fetching without being locked to one UI kit. Teams that want a finished visual admin with no component work, or a UI library outside Ant Design, Material UI, Mantine and Chakra UI, should expect to build more themselves. Before committing, check the published version of each @refinedev package you plan to use, since the listed releases trail the latest push by months.
Frequently asked questions
What is Refine CORE used for?
Refine CORE is a React meta-framework for CRUD-heavy apps such as admin panels, dashboards, internal tools and B2B apps. With SSR support it can also power storefronts.
Which UI libraries does Refine support out of the box?
Refine has built-in support for Ant Design, Material UI, Mantine and Chakra UI. Other designs such as TailwindCSS work through its headless layer, without prebuilt components.
How do I create a new Refine project?
Run npm create refine-app@latest my-refine-app, or use the browser playground at refine.dev/core.
Is Refine open source?
Yes. The refinedev/refine repository is published under the MIT license and written in TypeScript.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/refinedev-refine)Star history chart for your README
[](https://hysenlabs.com/projects/refinedev-refine)Was this useful?