TanStackVirtual

Headless UI for Virtualizing Large Element Lists

Virtualize only the visible content for massive scrollable DOM nodes at 60FPS in TS/JS, React, Vue, Solid, Svelte, Lit & Angular while retaining 100% control over markup and styles.

Get Started
888888888279,092,437
NPM Downloads
6,280
Stars on Github
125
Contributors on GitHub
347,277
Dependents on GitHub

Designed for zero design

Headless Virtualization means you're always in control of your markup, styles and components. Go design and implement the most beautiful UI you can dream up and let us take care of the hard parts.

Big Power, Small Package

Don't be fooled by the small bundle size. TanStack Virtual uses every byte to deliver powerful performance. After all, 60FPS is table stakes these days and we refuse to sacrifice anything for that 🧈-y smooth UX.

Maximum Composability

With a single function/hook, you'll get limitless virtualization for vertical, horizontal, and grid-style layouts. The API is tiny (literally 1 function), but its composability is not.

Framework Agnostic & Feature Rich

Lightweight (10 - 15kb) Tree-Shaking Headless Vertical/Column Virtualization Horizontal/Row Virtualization Grid Virtualization Window-Scrolling Fixed Sizing Variable Sizing Dynamic/Measured Sizing Scrolling Utilities Sticky Items
An ad on an open source project? What is this, 1999?
Please... TanStack is 100% privately owned, with no paid products, venture capital, or acquisition plans. We're a small team dedicated to creating software used by millions daily. What did you expect?
Check out our ethos to learn more about how we plan on sticking around (and staying relevant) for the long-haul.

Take it for a spin!

With just a few divs and some inline styles, you're already well on your way to creating an extremely powerful virtualization experience.

Wow, you've come a long way!
Only one thing left to do...
Get Started!