// Angular 22 · Signals-native · Zero deps
One grid. A million rows.
Zero compromises.
Virtual scroll, sorting, filtering, and inline editing — in one zero-dependency Angular library. No bloat. No dependencies. Just signals.
You've fought this fight before.
Ported reactivity models, zone hacks, and change-detection taxes on every cell.
GridCraft is signals-native: OnPush everywhere, zoneless-ready, component-scoped DI. It feels like Angular because it is Angular.
Per-feature add-ons, per-seat audits, and pricing pages that need a sales call.
Nothing to buy and nothing to negotiate. Everything documented on this site is MIT licensed and in the package you install — no add-on modules, no seat audits, no sales call.
One grid, fifteen transitive packages, and an export feature that needs three more.
Zero runtime dependencies. CSV export is written from scratch. Nothing ships but your code and Angular.
Zeroruntimedeps.
MITlicensed.Fullyyours.
Infinite scroll, filtering, sorting, inline editing, CSV export and theming — every one of them in the package you install, under MIT.
1 million rows.
Zero lag.
Window only the visible rows. Incremental server fetch. Butter-smooth at 60fps with no layout thrash.
Infinite scroll, paging, virtual-pagingInline Editing
Edit any cell in place. Built-in editors, validation, and session-wide undo/redo.
Filtering
Row & popup modes, a quick-filter box, and four column types with smart operators.
Theming
52 CSS variables. Default, Dark, Material themes. Theme Builder included.
Export
Browser-native CSV, written by hand — zero runtime dependencies.
Column Pinning
Freeze columns left or right. Shadows, z-index and RTL all handled for you.
BuilttheAngular way.
Every decision — from signals to CSS variables to component-scoped DI — was made to feel native to Angular, not ported from another framework.
Signals, not subscriptions
Every state change is a signal update. No BehaviorSubject, no manual teardown, no async pipe.
Fully typed, top to bottom
GridColumn<T> is generic. CellContext carries the typed row. No casting, no any, no surprises.
No hidden magic
Column order is an array. Sort direction is a signal. Nothing happens unless you ask for it.
Styles you own
52 CSS custom properties. Override exactly what you need — header height, flash duration, everything.
One grid, one injector
Services are component-scoped. Two grids on one page share nothing — no state leaks, no conflicts.
MIT licensed
Free for everyone, commercial products included. No key to register, no watermark, and no feature held back behind an edition.
OnlyvisiblerowsintheDOM.
Binary-search scroll positioning. State is pure Angular signals — no BehaviorSubject, no zone traversal. Nothing runs in the background.
Window rendering
Only visible rows enter the DOM. Binary-search scroll positioning. No layout thrash at any scroll speed.
Signals-first · Zoneless
Internal state is pure Angular signals. No BehaviorSubject. Works with Zone.js disabled out of the box.
Zero runtime deps
CSV export written from scratch, byte by byte. Nothing ships but your code and Angular.
Component-scoped DI
Each grid instance has its own injector. Fully isolated state. Multiple grids on one page never conflict.
CSS-variable theming
52 CSS custom properties. No hardcoded colours in components. Swap the visual style at runtime, per-grid.
CSS Grid rows
Rows use display:grid — not flex. Column widths are pixel-perfect across header, body, filter, and summary.
52 tokens. Any brand.
Every colour, radius, and spacing value is a CSS custom property. Tap a swatch — the same swap works at runtime, per grid.
Startbuildingtoday.
npm install @gridcraft/angular — that's it. No signup, no API key, no cloud.
What'snew.
Analyst Workbench
Side bar with tool panels, a visual Advanced Filter Builder, unlimited multi-filters, cached Master/Detail, and multi-level aggregation with subtotals — the full data-analysis workbench, in one release.
Read moreSpreadsheet Power
Cell range selection, Excel-compatible clipboard, live status-bar aggregations, in-grid find, and a fill handle — the complete spreadsheet cluster in one release.
Read moreAuto Row Height, Cell Renderers & More
Rows grow to fit their content with stable virtual scrolling. Plus built-in chip, badge, rating and progress renderers, conditional formatting, and a time-travel audit timeline.
Read moreNeed help with GridCraft?
Browse solved tickets, search the FAQ, or open a support ticket — we respond fast.