# @material-table/core

> Datatable for React based on https://material-ui.com/api/table/ with additional features

Latest version **8.0.3** (published 2026-07-23) · MIT license · 0 weekly downloads

## Install

```sh
npm install @material-table/core
pnpm add @material-table/core
yarn add @material-table/core
bun add @material-table/core
```

## Health

**Score 75/100 (B)** — status: active.

Positive: has types; esm support; no vulnerabilities; has provenance; recently updated; high maintenance score; high quality score.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 8.0.3 |
| Published | 2026-07-23 |
| First published | 2020-05-19 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | >=20.19.0 |
| Dependencies | 13 |
| Unpacked size | 239.6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 291 |
| Author | Mehmet Baran, @material-table/core contributors |
| Maintainers | oze4, lukss12, dominoengel |
| Keywords | react, material-ui, material, mui, datatable, table |

## Links

- npm: https://www.npmjs.com/package/@material-table/core
- Repository: https://github.com/material-table-core/core
- Homepage: https://material-table-core.github.io/
- Issues: https://material-table-core.github.io/
- npm.io page: https://npm.io/package/@material-table/core

## Dependencies (13)

- [uuid](https://npm.io/package/uuid.md) ^14.0.1
- [zustand](https://npm.io/package/zustand.md) ^5.0.14
- [date-fns](https://npm.io/package/date-fns.md) ^4.4.0
- [debounce](https://npm.io/package/debounce.md) ^3.0.0
- [deep-eql](https://npm.io/package/deep-eql.md) ^5.0.2
- [deepmerge](https://npm.io/package/deepmerge.md) ^4.3.1
- [prop-types](https://npm.io/package/prop-types.md) ^15.8.1
- [@mui/material](https://npm.io/package/@mui/material.md) ^9.2.0
- [@emotion/react](https://npm.io/package/@emotion/react.md) ^11.14.0
- [@emotion/styled](https://npm.io/package/@emotion/styled.md) ^11.14.0
- [@hello-pangea/dnd](https://npm.io/package/@hello-pangea/dnd.md) ^18.0.1
- [@mui/icons-material](https://npm.io/package/@mui/icons-material.md) ^9.2.0
- [@mui/x-date-pickers](https://npm.io/package/@mui/x-date-pickers.md) ^9.10.0

## Alternatives

- [@lexical/table](https://npm.io/package/@lexical/table.md) — 3.0M weekly downloads
- [mantine-datatable](https://npm.io/package/mantine-datatable.md) — 98.2K weekly downloads
- [react-native-collapsible-tab-view](https://npm.io/package/react-native-collapsible-tab-view.md) — 70.6K weekly downloads
- [@handsontable/vue3](https://npm.io/package/@handsontable/vue3.md) — 16.1K weekly downloads
- [vuewordcloud](https://npm.io/package/vuewordcloud.md) — 7.2K weekly downloads

## Recent versions

- 8.0.3 (latest) — 2026-07-23
- 0.2.62 (next) — 2022-12-29
- 8.0.2 — 2026-07-19
- 8.0.1 — 2026-07-19
- 8.0.0 — 2026-07-19
- 7.0.0 — 2026-04-16
- 6.5.2 — 2025-10-26
- 6.4.4 — 2024-05-21
- 6.4.3 — 2024-05-05
- 6.4.2 — 2024-05-02
- 6.4.1 — 2024-04-06
- 6.3.2 — 2023-12-26
- 6.3.1 — 2023-12-11
- 6.3.0 — 2023-11-10
- 6.2.11 — 2023-10-05
- … 272 more at https://npm.io/package/@material-table/core/versions

## README

<div align="center">

# @material-table/core

**A highly customizable datatable for React, built on Material UI — forked from [`mbrn/material-table`](https://material-table.com)**

[![build](https://github.com/material-table-core/core/workflows/Build/badge.svg?branch=master)](https://github.com/material-table-core/core/actions?query=workflow%3ABuild)
[![publish](https://github.com/material-table-core/core/actions/workflows/publish.yml/badge.svg)](https://github.com/material-table-core/core/actions?query=workflow%3APublish%20Package)
[![npm version](https://badge.fury.io/js/@material-table%2Fcore.svg)](https://www.npmjs.com/package/@material-table/core)
[![npm downloads](https://img.shields.io/npm/dm/@material-table/core)](https://www.npmjs.com/package/@material-table/core)
[![license](https://img.shields.io/npm/l/@material-table/core)](LICENSE)
[![discord](https://img.shields.io/discord/796859493412765697)](https://discord.gg/uMr8pKDu8n)

💾 [**Installation**](https://material-table-core.github.io/docs/#installation) • 🎉 [**Basic Usage**](https://material-table-core.github.io/docs/#basic-usage) • 📖 [**Documentation**](https://material-table-core.github.io/docs) • ⚙️ [**Demos**](https://material-table-core.github.io/demos/)  
✅ [**Why this repo exists?**](https://material-table-core.github.io/docs/about) • 🗺️ [**Roadmap**](https://github.com/material-table-core/core/wiki/Roadmap)

</div>

---

## ✨ Features

- **Sorting & multi-column sorting** — client- or server-side
- **Filtering & search** — per-column filters (text, numeric, boolean, date, lookup) plus global search
- **Pagination** — normal or stepped, fully localizable
- **Inline editing** — row, cell and bulk editing with validation
- **Grouping** — drag & drop column grouping with persistent groupings
- **Selection** — row selection with parent/child (tree) support
- **Tree data & detail panels** — nested rows and expandable panels
- **Column resizing, reordering and hiding**
- **Remote data** — plug in any backend via a simple query callback
- **Export** — pluggable export menu (CSV, PDF, custom)
- **Styling & theming** — Material UI theme aware, custom components for every part of the table
- **Localization** — every label and aria attribute is overridable

## 📦 Requirements

| Peer dependency | Version |
| --------------- | ------- |
| `react` / `react-dom` | >= 19 |
| `@mui/material` | v9 |

Built with modern tooling: Vite 8 library build (tree-shakeable, per-module ESM output), Vitest 4 test suite, ESLint 9 flat config. The package ships as ESM; CommonJS consumers are covered by Node's `require(esm)` support (Node >= 20.19).

## 🛠️ Installation

```bash
npm install @material-table/core
# or
yarn add @material-table/core
```

Refer to the [installation guide](https://material-table-core.github.io/docs/#installation) for more information and advanced usage.

## 💡 Basic Usage

```jsx
import MaterialTable from '@material-table/core';

function MyTable() {
  return (
    <MaterialTable
      title="Simple Table"
      columns={[
        { title: 'Name', field: 'name' },
        { title: 'Age', field: 'age', type: 'numeric' }
      ]}
      data={[
        { name: 'John', age: 30 },
        { name: 'Jane', age: 25 }
      ]}
      options={{
        sorting: true,
        filtering: true
      }}
    />
  );
}
```

Explore more features and advanced usage in the [documentation](https://material-table-core.github.io/docs) and [live demos](https://material-table-core.github.io/demos/).

## 🧑‍💻 Development

```bash
npm install
npm start          # Vite dev server with the demo playground
npm test           # build + run the Vitest suite
npm run lint       # ESLint + type-check of the TypeScript definitions
npm run build      # build the library to dist/
```

## 🙌 Sponsorship

We appreciate contributions and sponsorships! You can support this project through [GitHub Sponsors](https://github.com/sponsors/material-table-core) or [Open Collective](https://opencollective.com/material-table-core). Your support helps us maintain and improve the project.

## 🚀 Contributing

Thank you for considering contributing to the project! Areas where help is especially welcome:

- **Refactoring** — migrate the remaining class components to hooks
- **Documentation** — help us improve the docs
- **Tests** — extend the Vitest suite to improve stability

We appreciate all contributions, big or small. Check out the [contributing guide](https://github.com/material-table-core/core/blob/master/.github/CONTRIBUTING.md) for more details.

## 📄 License

[MIT](LICENSE)

---
_Source: https://npm.io/package/@material-table/core · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
