Search iThub

Search tools, categories and collections. Type at least two characters.

Explore all tools
↑ ↓ to explore resultsEnter to open · Esc to close

Refine

MIT-licensed headless React framework for admin panels, dashboards, internal tools and B2B apps

Visit website Save

Refine (Refine CORE) is an MIT-licensed headless React meta-framework for CRUD-heavy apps, with hooks for data, auth, access control, routing, realtime and i18n, and integrations for Ant Design, Material UI, Mantine, Chakra UI and shadcn/ui.

Pricing
Freemium
Deployment
Self-hosted
Platforms
Web
36,019stars3,274forks
50views
Updated

What is Refine?

Refine, published as Refine CORE, is an MIT-licensed React meta-framework for CRUD-heavy web applications such as admin panels, dashboards, internal tools and B2B apps. The README describes a headless architecture that separates business logic from UI and routing, with hooks and components for authentication, access control, routing, networking, state management and internationalization. The copyright line names Refinedev and runs from 2021. The company's website at refine.dev states that Refine is backed by Y Combinator (YC S23), 500 Emerging Europe and Senovo.

Refine is distributed as npm packages in a monorepo. @refinedev/core provides the <Refine> component and data hooks built on TanStack Query, and supports React 18 and 19. Separate packages provide UI integrations for Ant Design, Material UI, Mantine and Chakra UI plus a shadcn/ui component registry, router bindings for React Router, Next.js and Remix, data providers for REST, GraphQL, NestJS CRUD, Nestjs-Query, Strapi, Supabase, Hasura, Appwrite, Airtable and Medusa, live providers such as Ably, and tools including an Inferencer, a CLI, devtools and codemods. New projects start with npm create refine-app@latest or in a browser playground.

Releases are versioned per package through changesets. The latest GitHub release is @refinedev/core@5.0.12, published on April 2, 2026, a patch that keeps custom fields returned by getList in the results of useList and useTable. Other recent releases include @refinedev/mui@8.0.2, @refinedev/cli@2.16.52 and @refinedev/devtools@2.0.5. The documentation is versioned and currently covers the 5.x line.

Beside the open-source Community Edition, an Enterprise Edition is distributed through a private npm registry at registry.refine.dev as @refinedev/enterprise; its documentation lists an Okta auth provider, devtools and multitenancy. According to the Enterprise Edition page, Community Edition releases ship monthly, Enterprise features ship continuously from the next branch, and critical fixes ship immediately for both. The company also offers Refine AI, a hosted agent that generates React internal apps from REST APIs or Supabase projects and is built on Refine CORE.

Refine apps are client-side React applications that call the user's own backend through data providers, so they can be deployed wherever a React, Next.js or Remix application runs. Related projects on iThub include the low-code builders Appsmith and Retool, and Toolpad, a React component library for admin panels.

Inside the application

Refine screenshots

Explore the interface. Open a screenshot to view it at full size.

Refine Material UI example app with a products table, categories and pagination
Refine screenshot 1

Products list from the README quick start, built with Refine CORE, React Router and Material UI.

Refine CORE architecture diagram connecting platforms, UI frameworks, auth, data, live providers and access control
Architecture diagram

Diagram of Refine CORE integrations: platforms, UI frameworks, auth, data and live providers, integrations and access control.

Refine documentation page for the data provider with hook list and method index
Data provider docs

Data provider documentation with the list of data hooks and provider methods.

Refine documentation page for the shadcn/ui integration and its component registry
shadcn/ui integration

shadcn/ui integration documentation describing the component registry and theming.

Source: official Refine project page.

Key capabilities

  • Headless core @refinedev/core contains the business logic: the <Refine> component, resources, and hooks for data, forms, tables, authentication and access control. UI rendering is left to the chosen component library or custom components.
  • Data providers A data provider implements methods such as getList, getOne, create, update, deleteOne, getMany and custom. Official packages cover Simple REST, GraphQL, NestJS CRUD, Nestjs-Query, Strapi, Supabase, Hasura, Appwrite, Airtable and Medusa, and an application can use several data providers at once.
  • Data hooks Hooks such as useList, useOne, useMany, useInfiniteList, useCreate, useUpdate, useDelete and their bulk variants use TanStack Query for caching, invalidation and loading states. useCustom and useCustomMutation call endpoints outside the CRUD pattern.
  • Forms and tables useForm, useTable, useSelect and useShow connect forms, tables and detail views to resources. Integration packages exist for React Hook Form and TanStack React Table.
  • Authentication An auth provider defines login, logout, check, identity and error handling. The project diagram lists examples for Auth0, Google Auth, Keycloak and Okta; the Okta auth provider is documented under the Enterprise Edition.
  • Access control An access control provider answers whether the current user can perform an action on a resource, and examples cover Cerbos and Casbin. UI components and routes can use the result to restrict what is shown.
  • Routing A router provider abstracts navigation. Official bindings are available for React Router, Next.js and Remix, and the README states that the same interface works for platforms such as React Native and Electron.
  • UI integrations Packages for Ant Design, Material UI, Mantine and Chakra UI provide themed layouts, CRUD views, buttons and fields. The shadcn/ui integration adds components to the project source through a registry, built on Radix UI primitives and Tailwind CSS.
  • Inferencer The Inferencer inspects API responses and generates list, show, create and edit views for a resource, which can then be copied into the codebase. Inferencer components exist for each supported UI library.
  • Realtime A live provider subscribes to changes and updates queries automatically. The project diagram lists Ably, Supabase, Socket.io and Appwrite as realtime options.
  • Notifications and i18n A notification provider shows success and error messages from mutations, and an i18n provider translates the UI through any translation library.
  • Audit logs An audit log provider records create, update and delete events from mutations, which supports document versioning and change history in the application.
  • Multitenancy and SSR The documentation includes a multitenancy guide, and the README lists SSR support with Next.js and Remix for customer-facing applications such as storefronts.
  • CLI and project scaffolding npm create refine-app@latest scaffolds a project with a choice of framework, UI library and data provider. The monorepo also contains the @refinedev/cli package and a codemod package for upgrades between major versions.
  • Devtools The README describes Refine Devtools as a way to look into a running application and get insights about it. The documentation lists Devtools under the Enterprise Edition section.
  • Templates and examples The templates page lists complete example applications, including a CRM application, an admin panel, a PDF invoice generator, a RealWorld Medium clone, a Strapi multitenancy example and a Next.js storefront.
  • Enterprise Edition Enterprise packages come from the private registry registry.refine.dev and require an auth token. Documented Enterprise items are the Okta auth provider, Devtools and multitenancy features.
Advertisements

Where Refine fits

Admin panels over an existing API

A team points a data provider at its REST or GraphQL API, declares resources such as products and categories, and uses the UI integration's list, create, edit and show views. The README quick start builds a products list with React Router, Material UI and the MUI DataGrid against a demo REST API in a single file.

Internal tools on Supabase or a headless CMS

With the Supabase, Strapi, Hasura or Appwrite data providers, internal tools read and write the backend's tables or content types directly, while authentication and access control providers map the backend's users and roles to what each screen allows.

Dashboards and B2B applications

Dashboards combine data hooks with charting libraries, and B2B apps use the same CRUD hooks for customers, orders or invoices. The CRM template on the templates page shows a dashboard, calendar, kanban boards, companies, contacts and quotes built on GraphQL with Ant Design.

Custom design systems

Because the core is headless, teams with their own design system use only the hooks from @refinedev/core with custom components, or copy shadcn/ui components into the project and adjust them with Tailwind CSS and CSS variables for theming.

Generating CRUD screens from data

During development the Inferencer generates views from the shape of API responses. Developers review the generated code, paste it into page components and adjust fields, as described in the Inferencer documentation.

Server-rendered and customer-facing apps

With the Next.js or Remix router bindings, Refine runs inside a server-rendered application, so the same data hooks can power public pages such as a storefront, as in the Next.js e-commerce template listed in the README. The Next.js routing guide covers the integration.

Install

npm create refine-app@latest my-refine-app

Reviews of Refine

No reviews yet

Be the first to share your experience with Refine.

Loading review form…

Alternatives to Refine

Compare Refine with these tools →