A framework-independent grid engine

A small DOM for very large data.

Two-axis virtualization, flexible cells, and familiar spreadsheet interactions in a lightweight TypeScript package. Bring your own framework—or none at all.

0 runtime dependencies2D virtualizationJS + TS ready
100k+rows in the data model
1,000+columns on both axes
4independent grid panels
0runtime dependencies

01 / INTERACTIVE LAB

See it in action.

Choose an example, interact with the grid, then explore code for your framework.

10 LIVE EXAMPLES

LIVE DEMO
Source codeExact module used by this example
Loading example…

02 / THE THINKING BEHIND IT

Built for data that refuses to fit.

rapid-grid keeps collection state, geometry, and DOM rendering separate. You can change one layer without bringing a framework or a heavy table stack along for the ride.

01

Render the window

Rows and columns are indexed by pixel offsets. The DOM contains the visible window and a small directional buffer, even when the dataset is enormous.

02

Reuse the cells

Scrolling recycles positioned elements. Formatting and editing hooks work on those cells, so custom controls stay close to the data they represent.

03

Own your stack

The core is plain TypeScript and browser DOM. Use it directly or mount it from React, Vue, Angular, Svelte, or a Web Component.

READY TO BUILD?

Start with the grid.
Keep the control.

Explore every method, option, and event in the API reference, or use the examples above as a starting point.

Open API reference