Every feature is part of the MIT-licensed core – in every framework. New in October: twelve features with code →
Virtual scrolling in both directions: only visible rows and columns are in the DOM. The rendering cost depends on the viewport, not on your data.
See 2 million rows →Angular 14 – 22, React, Vue 3, Svelte 4 / 5, Solid, Preact, Web Component and plain JavaScript – the same model, options and API everywhere.
Get started →Flat and tree tables, grouped headers, total rows that follow filter and sorting (sum, average, count …), rowspan and colspan, fixed columns on both sides, row numbers like in a spreadsheet – or a model of your own that computes values on demand.
The table model →Sorting with own comparators, filtering with your own UI, cell, row, column and range selection, row grouping with totals per group, pivot tables with subtotals and totals, calculated columns and formulas ("[price] * [quantity]", shares of the total, running totals, ranks), master/detail with nested tables, the sum of the selected cells for a status bar, clipboard and Excel export, loading and "no rows" overlays – without an extra library.
Sorting, filtering, export →A WAI-ARIA grid for screen readers and full keyboard navigation, inline editing with text and select editors, a fill handle and batch edit (collect changes, then save), resizable and movable columns, rows dragged into order (mouse, touch or Ctrl+Alt+↑/↓), live updates – and a table that remembers its layout, sorting and selection, in localStorage or on your server.
Accessibility and editing →Cell renderers and framework components in cells, heatmaps, CSS variables, light and dark themes, right-to-left for Arabic and Hebrew with one option – full control over HTML and CSS.
Renderers and theming →