Open source · MIT licence · v1.1.90

Millions of rows.
Any framework.
Still smooth.

GuiExpert Table renders only the cells you can see – vertically and horizontally. One TypeScript core without runtime dependencies, components for Angular, React, Vue, Svelte, Solid, Preact and Web Components – and sorting, filtering, selection, editing, tree tables and Excel export included.

npm i @guiexpert/table
  • MIT – free for commercial use
  • 0 runtime dependencies
  • 8 frameworks
  • Source on GitHub
Live · 1,000,000 orders – cells in the DOM – fps

Scroll in both directions, drag to select a range, copy it with Ctrl/⌘ + C. “Order” and “Total” stay fixed. Every value is computed when its cell becomes visible.

Why GuiExpert Table

A lean data grid with everything included – and an honest view of where others go further.

  • Free – really

    Every current release is MIT licensed, also for commercial use. No licence key, no watermark, no paid tier for Excel export, range selection or tree tables.

    Licence →
  • Not tied to a framework

    Eight integrations of one core. Models, renderers and options move with you from Angular to React or Svelte – you learn the grid once.

    Same code in every framework →
  • Nothing hidden

    No runtime dependencies, plain DOM elements, CSS variables and readable TypeScript on GitHub. You can debug, style and extend every part.

    Source on GitHub →
GuiExpert Tableag-Grid Communityag-Grid Enterprise
LicenceMIT, free – also commerciallyMIT, freecommercial, per developer
Excel export✔ no extra library–✔
Range selection & clipboard✔–✔
Row grouping / pivot– tree tables instead–✔
Server-side row model– own area model–✔
Filter UI– your UI, a filter function✔✔
FrameworksAngular 14 – 22, React, Vue, Svelte, Solid, Preact, Web Component, JSReact, Angular, Vue, JSReact, Angular, Vue, JS
Runtime dependenciesnone––

Rule of thumb: need pivot tables, row grouping or a server-side row model off the shelf? ag-Grid Enterprise is further today. Need large data, export, selection and full control over HTML and CSS – in any framework, without licence costs? That is what GuiExpert Table is for.

As of October 2026, based on ag-grid.com (Community vs. Enterprise, Licensing) – check the current terms before you decide. More in chapter 3 of the training.

Everything included

Every feature is part of the MIT-licensed core – in every framework.

Get started

One model, one component, a container with a height – the same table in every framework.

npm i @guiexpert/table @guiexpert/react-table

OrderTable.tsx
import { GuiexpertTable } from "@guiexpert/react-table";
import { GeMouseEvent, TableFactory, TableOptions } from "@guiexpert/table";
import "@guiexpert/table/css/main.css";
import { orders } from "./orders";
// create model and options once – a new object rebuilds the table
const tableModel = TableFactory.createTableModel({
rows: orders,
properties: ["id", "customer", "city", "total"]
});
const tableOptions = new TableOptions();
export function OrderTable() {
return (
<div style={{ height: 500 }}>
<GuiexpertTable
tableModel={tableModel}
tableOptions={tableOptions}
mouseClicked={(evt: GeMouseEvent) => console.info("row", evt.rowIndex)} />
</div>
);
}

orders is any array of objects. Solid and Preact work like React – see the training.

More than text in a cell

A cell renderer is one function that receives the cell's element: box plots, sparklines, progress bars, icons – or a component of your framework.

Renderers run only for visible cells, so rich content costs the same at 100 rows as at a million. Sorting, filtering, copying and Excel export still work on the raw values.

The same model drives header groups, tree tables, rowspans and footers with totals. The demo above recalculates and repaints its cells many times per second.

Showcase

Complete examples – heatmaps, trees, timetables, live data. Run them in the browser and read their source.

What's new

Recent releases – and a new way to learn the table.

v1.1.90 · October 2026

Sort from code, smaller Excel files

  • sortByColumn() sorts from your own button – header icon included (sorting)
  • Excel files are compressed without a library – about ten times smaller (Excel export)
  • Tree tables can start collapsed (tree table)
  • Every table gets its own selection and focus model
v1.1.88 – 1.1.89 · October 2026

Range selection, editing, state

  • Select a range by dragging the mouse (selection)
  • A changed filter keeps the current sort order
  • Inline editing works on cells with renderers; the editor keeps the focus (editing)
  • Restored state includes sort icon, scroll position and open tree nodes (persist state)
New on gui.expert

Training and documentation

  • Training: 34 short chapters with live demos – from the first table to live data
  • Documentation: concepts, building blocks and a complete CSS reference
  • API reference with examples compiled against the real code