The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the SvGrid listing page.
The Svelte data grid. Headless-first. Render-ready.
SvGrid is a data grid and data table for Svelte 5, written with runes from the first line rather
than ported from a React grid. It virtualizes rows and columns (there is a 1 million row demo below)
and ships Excel-style filtering, inline editing, row grouping, tree data, pivot, charts, and
server-side data. Drop in the <SvGrid /> component, or build your own table on the headless engine
from @svgrid/grid/core. MIT licensed, TypeScript-first, and it server-renders under SvelteKit.
Quick links: Website · Docs · 400+ Demos · Pricing · Roadmap · Blog · Releases · npm
If you build on Svelte 5, star the repo so it is there when you need a grid. Stars are also how other Svelte developers find it.
Or start from a working Vite + Svelte 5 app (npm create @svgrid@latest), or add it to a
Svelte CLI project with npx sv add @svgrid.
That is a working, accessible table. Sorting, filtering, virtualization, cell selection, and inline editing each switch on with the matching prop.
<SvGrid /> is a renderer over a headless state machine, and the state machine is public. Import it
from @svgrid/grid/core (2.7 KB gzipped, no DOM, no CSS) when you want your own markup, a canvas
renderer, or a row model you can unit-test in plain Node:
Features are opt-in modules, so a grid that never groups never ships grouping. The render component uses the exact same hooks. See Why headless? and the headless table demo.
Every demo opens in the browser and has an Edit in StackBlitz button that turns it into a live Vite + Svelte 5 project. Nothing to install.
| Trading desk 10,000 securities on a 500 ms feed | 1 million rows sort, filter, group and edit, all on | Spreadsheet + formulas formula cells in a real grid |
| Kanban board the same grid, board mode | Scheduler calendar views off the same data | Cell types every editor in one grid |
All 400+ demos are browsable by category.
The MIT package has no license key, no watermark, and no row-count cap.
editorTypes from text and number to date/time pickers, rich-select with typeahead, autocomplete, chips, color, and rating, plus a cellEditor snippet for anything else.hyperformula install; the built-in formula engine and <SvSheet> are in the
Suite edition of @svgrid/enterprise.SvChart: 29 SVG chart types, zoom, drilldown, technical indicators, export. No charting library.localeText.--sg-* CSS custom properties."We were looking for an Excel-like library using SvelteKit. Then I explored your library a lot, mostly everything about SvGrid: cell selection, grabbing cells, updating values in cells. So we used it for an accounting application. It was so easy to integrate. We even built our custom theme, by updating the svgrid.css file which includes all the classes. We found no issues yet, everything just worked for us."
Sikandar Bhide - built an accounting app on SvelteKit
| Package | @svgrid/grid, peer dependency svelte@^5 |
| License | MIT, free for commercial use |
| Bundle (gzip) | ~2.7 KB headless core, ~98 KB full <SvGrid> + ~10 KB CSS; charts, date pickers, menus and export load as separate chunks on first use |
| SSR | Header plus a viewport window of rows in the server HTML; checked in CI by pnpm ssr:check |
| Demos | 400+ demos, each with a StackBlitz button |
| AI grounding | MCP server, llms.txt, Agent Skill |
Numbers are measured, not typed: pnpm size and pnpm demos:count re-derive them.
Writing SvGrid with Claude, Cursor, or Zed? The MCP server carries the real API surface and its
svgrid_check_code tool verifies generated code against it before you see it, so assistants cite
real props and events instead of inventing them.
Claude Code gets the server plus an always-on house-style skill from one plugin:
For RAG and custom agents there is llms.txt (index) and llms-full.txt (every doc page). See Use sv-grid docs as LLM context.
| SvGrid | AG Grid Community | TanStack Table | |
|---|---|---|---|
| Svelte 5 runes native | Yes | No, JS core + wrapper | Adapter only |
| Ships a renderer | Yes, plus headless | Yes | No, headless only |
| Virtualization built in | Yes | Yes | Bring your own |
| Master/detail, tree, range selection | Free | Enterprise only | Build it yourself |
| License | MIT core, commercial pack | MIT core, commercial pack | MIT |
Bundle sizes are measured, dated, and published on the comparison pages. Multi-framework teams are better served by AG Grid or TanStack Table; SvGrid is deliberately Svelte-first. Guides: Migrating from AG Grid · Migrating from Handsontable · SvGrid with SvelteKit
| You want to | Install | License |
|---|---|---|
| A data grid in a Svelte 5 / SvelteKit app | @svgrid/grid | MIT |
| Excel / PDF export, import, pivot tables, print, advanced filter builder, alert rules, Kanban + scheduler + Gantt renderers, server-side row model | + @svgrid/enterprise | Commercial, Grid |
A real spreadsheet: <SvSheet>, the built-in formula engine, .xlsx / .xls / .ods / .csv read and write | + @svgrid/enterprise | Commercial, Suite |
| The grid in React, Vue, Angular, or plain HTML | @svgrid/grid-wc | MIT |
| Accurate SvGrid answers from Claude / Cursor / Zed | @svgrid/mcp | MIT |
| To copy one UI component into your app, shadcn-style | npx @svgrid/ui add <name> | MIT |
To port an existing svelte-headless-table app | npx @svgrid/migrate | MIT |
| A generated CRUD app from your database schema | @svgrid/studio | Commercial, Suite |
@svgrid/enterprise sells in two editions, both covering unlimited production apps.
Grid is the enterprise grid. Suite adds the spreadsheet and Studio. Shipping SvGrid to
third parties as a component, an SDK, or an app builder they build with needs an OEM license,
which is separate from developer seats. See Pricing and
Section 4A of the EULA.
Open-source projects under an OSI-approved license get a Suite key free. See Pricing.
Does SvGrid work with SvelteKit and SSR? Yes. The server HTML contains the header and a viewport-sized window of rows with real cell values, so crawlers and no-JS clients see content; the remaining rows arrive once the client measures the viewport. Verified in CI against a real server build. See going to production.
Is it free for commercial use? Yes. @svgrid/grid is MIT with no license key, watermark, or row
cap. Only the optional @svgrid/enterprise pack is paid.
Does it support Svelte 4? No. SvGrid is Svelte 5 only, on runes and snippets, which is what lets it skip the abstraction layer a cross-version grid needs.
How many rows can it handle? 100k rows x 100 columns on the client, with only the visible window in the DOM. Past that, the free server-side controller pushes sorting, filtering and paging to your backend, and the Enterprise row model adds lazy grouping, tree, pivot, and transactions.
Do I need Tailwind? No. The component ships its own scoped styles and re-themes through --sg-*
custom properties. Tailwind works too: Tailwind guide.
Is it accessible? WAI-ARIA 1.2 grid pattern, full keyboard navigation, a screen-reader announcement layer, RTL, and a high-contrast theme. Details in accessibility.
What's not built yet? A custom filter component slot, custom tool panels, a viewport row model over a socket, and non-Gregorian calendars. Full list with effort tags on the roadmap and in missing features.
SvGrid is built by jQWidgets, the team behind jqwidgets.com and htmlelements.com. We have shipped UI components since 2011 to 5,000+ companies including Samsung, Boeing, NVIDIA, Microsoft, Nokia, and Intel. SvGrid is our Svelte 5 native effort, funded by Enterprise licenses rather than donations.
Mixed. @svgrid/grid, grid-wc, ui, mcp, migrate, sv, and the two create-* scaffolders
are MIT (see each package's LICENSE). The Enterprise pack, Studio, and the website are
commercial: the source is visible for evaluation, but visibility does not grant a license.
SvGrid™ and sv-grid™ are trademarks of jQWidgets Ltd. The licenses cover source code only and grant no rights to the names or logos.
If SvGrid saved you some work, star the repo. It is the main way other Svelte developers find it, and it tells us which parts to keep building.