šŸ“ tanstack/virtual/v3

File: v3.md | Updated: 11/15/2025

Source: https://tanstack.com/virtual/v3



TanStack

Search...

+ K

Auto

Log In

TanStack StartRC

Docs Examples GitHub Contributors

TanStack Router

Docs Examples GitHub Contributors

TanStack Query

Docs Examples GitHub Contributors

TanStack Table

Docs Examples Github Contributors

TanStack Formnew

Docs Examples Github Contributors

TanStack DBbeta

Docs Github Contributors

TanStack Virtual

Docs Examples Github Contributors

TanStack Paceralpha

Docs Examples Github Contributors

TanStack Storealpha

Docs Examples Github Contributors

TanStack Devtoolsalpha

Docs Github Contributors

More Libraries

Maintainers Partners Support Learn StatsBETA Discord Merch Blog GitHub Ethos Brand Guide

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

888888888

NPM Downloads
6,470

Stars on Github

129

Contributors on GitHub

352,721

Dependents on GitHub

Powered byConvex LogoConvex Logo

Just a quick look...

ReactVueAngularSolidLitSvelte

import { useVirtualizer } from '@tanstack/react-virtual'

const rowVirtualizer = useVirtualizer({
  count: 1000,
  getScrollElement: () => parentRef.current,
  estimateSize: () => 36,
})
// Map virtual rows to your UI

import { useVirtualizer } from '@tanstack/react-virtual'

const rowVirtualizer = useVirtualizer({
  count: 1000,
  getScrollElement: () => parentRef.current,
  estimateSize: () => 36,
})
// Map virtual rows to your UI

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

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

Code RabbitCode Rabbit CloudflareCloudflare AG GridAG Grid NetlifyNetlify NeonNeon WorkOSWorkOS ClerkClerk ConvexConvex ElectricElectric SentrySentry PrismaPrisma StrapiStrapi UnkeyUnkey UI.dev Nozzle.io

Virtual You?

We're looking for TanStack Virtual Partners to join our mission! Partner with us to push the boundaries of TanStack Virtual and build amazing things together.

Let's chat

View Previous Partners →

Sponsors

Become a Sponsor!

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.

ReactVueAngularSolidLitSvelte

Wow, you've come a long way!

Only one thing left to do...

Get Started!

Blog

@Tan_Stack on X.com

@TannerLinsley on X.com

GitHub

Youtube

Nozzle.io - Keyword Rank Tracker

Privacy Policy

Terms of Service

Ā© 2025 TanStack LLC

scarf analytics

šŸ“ Children

Directory listing - 1 item(s) total