Skip to content

react-admin

A TypeScript/React framework for building admin dashboards on top of REST or GraphQL APIs.

Stars
27k
Forks
5.5k
Licence
MIT
Language
TypeScript
Last update
4 days ago
Type
Framework

What it is

React-admin is a frontend framework for building single-page admin applications that run in the browser. It connects to existing REST or GraphQL APIs and provides ready-made components for lists, edit forms, authentication, and similar pieces. It uses Material Design by default, and its components can be replaced when you need something different.

  • Build a CRUD admin for a blog with posts, comments, and users, following the simple example in the repository
  • Create list pages with a data table, edit pages with forms, and create pages for an API resource
  • Connect a custom API by writing a data provider, using the existing ones as a blueprint

Great for

  • Developers building internal admin panels or back-office tools on top of an existing API
  • Teams already using React who want standard CRUD screens without writing everything from scratch
  • Projects that want TypeScript support but can also be written in plain JavaScript
  • Developers who want to plug in a data provider for a specific backend

Not ideal for

  • Non-developers looking for a finished admin tool they can use without coding, since it is a framework that must be built into an app
  • Projects that do not use React, because the framework is built on React
  • Public-facing consumer websites, since it is designed for admin-style interfaces
Step-by-step guide: how to use react-adminInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Install with a package manager

    You'll need: Node.js and npm or yarn

    Install react-admin from npm

    npm install react-admin
  2. 2

    Run it

    • Install the package with npm or yarn.
    • Create an Admin component and pass it a data provider pointed at your API.
    • Define a Resource with list, edit, and create page components.
    • Run your React app and open it in the browser.
  3. 3

    Get the most out of it

    • Use the documentation's API reference for full component and hook details
    • Start from the tutorial or the example apps in the examples folder
    • Write a custom data provider if your API does not match an existing adapter
    • Replace individual components, such as the datagrid, to match your needs

Downloads

Strengths

  • Backend agnostic: the README lists more than 45 data provider adapters for REST and GraphQL
  • Built from loosely coupled components and hooks, so parts can be replaced individually
  • Comes with official examples, documentation, a tutorial, and an active community on Discord and StackOverflow

Trade-offs

  • Requires working knowledge of React and a build setup; not suited to people who only want a configuration-based tool
  • Default look is Material Design, so a different visual style takes extra customization work, as the README notes

How it compares

ProjectStarsTypeLevelUpdatedBest for
react-admin (this)27kFrameworkintermediate4 days agoDevelopers building internal admin panels or back-office tools on top of an existing API
refine36kFrameworkintermediate2 months agoDevelopers building internal admin panels or back-office tools in React
ngx-admin25.7kFrameworkintermediate2.1 years agoDevelopers starting a new Angular admin or back-office dashboard
AdminLTE45.7kLibrarybeginner5 days agoDevelopers building an internal admin panel or back-office tool quickly
gentelella21.6kLibraryintermediate6 days agoDevelopers who want a starting point for an internal admin panel without adopting a frontend framework
coreui-free-bootstrap-admin-template12.3kAppintermediate3 months agoDevelopers building an internal admin or dashboard page with Bootstrap

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.