Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

simple-table-core

petera2c3.5kMIT0.8.27TypeScript support: included

Simple Table: A lightweight, free React data grid and table component with TypeScript support, sorting, filtering, and virtualization.

simple-table, simple-table-core, datagrid, data-grid, data grid, datatable, data-table, data table, grid, table, reacttable, react-table, react-grid, react-spreadsheet, react, react data grid, react table, react-component, spreadsheet, spreadsheet-table

readme

Simple Table

npm version npm downloads GitHub stars License

Simple Table is a lightweight, high-performance React data grid component for building modern, scalable applications. With a simple API, completely free features, and a focus on developer experience, Simple Table makes it easy to create powerful, responsive tables.

Why Simple Table?

  • 100% Free: All features included at no cost - no premium versions or paid add-ons
  • Lightweight: Only 16 kB (minified + gzipped) for fast loading
  • Intuitive: Minimal boilerplate with a clean, React-first API
  • TypeScript-ready: Full TypeScript support for type-safe development

Quick Start

Get started with Simple Table in just a few lines of code!

Installation

npm install simple-table-core

Example

import { SimpleTable, HeaderObject } from "simple-table-core";
import "simple-table-core/styles.css";

const QuickStartDemo = () => {
  // Sample data for a quick start demo
  const data = [
    { id: 1, name: "John Doe", age: 28, role: "Developer" },
    { id: 2, name: "Jane Smith", age: 32, role: "Designer" },
    { id: 3, name: "Bob Johnson", age: 45, role: "Manager" },
  ];

  // Define headers
  const headers: HeaderObject[] = [
    { accessor: "id", label: "ID", width: 80, isSortable: true, type: "number" },
    { accessor: "name", label: "Name", minWidth: 80, width: "1fr", type: "string" },
    { accessor: "age", label: "Age", width: 100, isSortable: true, type: "number" },
    { accessor: "role", label: "Role", width: 150, isSortable: true, type: "string" },
  ];

  // Map data to rows format expected by SimpleTable
  const rows = data.map((item) => ({
    rowMeta: { rowId: item.id },
    rowData: item,
  }));

  return <SimpleTable defaultHeaders={headers} rows={rows} selectableCells />;
};

export default QuickStartDemo;

Features

  • Data Management

    • Sorting, filtering, and grouping
    • Pagination and infinite scrolling
    • Row and column virtualization for large datasets
    • Export to CSV/Excel
  • Customization

    • Custom cell rendering and editors
    • Responsive design
    • Flexible styling options
    • TypeScript support

Live Demo

Examples

Check out our live examples with complete source code:

Community & Support

Join our growing community to ask questions or share feedback:

License

This project is licensed under the MIT License - see the LICENSE file for details.