TanStack Virtual v3

Headless UI for Virtualizing Large Element Lists

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

Get Started

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

Behold, the obligatory feature-list:

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

Partners

Virtual You?
We're looking for a TanStack Virtual OSS Partner to go above and beyond the call of sponsorship. Are you as invested in TanStack Virtual as we are? Let's push the boundaries of Virtual together!
Let's chat

Sponsors

This ad helps us be happy about our invested time and not burn out and rage-quit OSS. Yay money! 😉

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...