TanStack/virtual

🤖 Headless UI for Virtualizing Large Element Lists in JS/TS, React, Solid, Vue and Svelte

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 19 minutes ago
Added to GitGenius on May 25th, 2026
Created on May 8th, 2020
Open Issues & Pull Requests: 113 (+0)
Number of forks: 460
Total Stargazers: 7,090 (+0)
Total Subscribers: 35 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 5.9 days
Mean response time: 47.7 days
90th percentile: 166.9 days
Tracked items: 132

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 100% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 3% of issues opened in the past year have been closed. Three people close 89% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 68
New in 7 days: 1
Closed in 7 days: 0
Avg open age: 479 days
Stale 30+ days: 62
Stale 90+ days: 55

Recent activity

Opened in 7 days: 1
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • dependencies (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

TanStack Virtual is a headless, framework-agnostic virtualization library designed to render massive lists, grids, and tables efficiently while maintaining 60FPS scrolling performance. Written in TypeScript, the library provides a lightweight solution weighing between 10 and 15 kilobytes that gives developers full control over markup and styling without imposing any UI constraints. The library supports multiple JavaScript frameworks including React, Solid, Vue, and Svelte, making it accessible to a wide range of development communities.

The core functionality of TanStack Virtual centers on virtualizing large element lists by rendering only the visible portion of content in the viewport, dramatically reducing DOM nodes and improving memory efficiency. The library handles vertical, horizontal, and grid layouts through a single hook or function interface, simplifying implementation across different layout types. It supports dynamic and measured sizing, allowing items of varying heights or widths to be virtualized effectively. Additional features include smooth scrolling with sticky item support and window-scrolling utilities, enabling developers to create responsive interfaces that handle massive datasets without performance degradation.

The project is classified across multiple domains including virtualization, scrolling, windowing, performance optimization, React integration, large lists, dynamic rendering, UI components, infinite scroll, and memory efficiency. These classifications reflect the library's broad applicability to performance-critical scenarios where rendering large datasets is necessary. The repository maintains an npm package at @tanstack/virtual-core with tracked download metrics and bundle size monitoring through BundlePhobia, indicating attention to keeping the library lightweight and performant.

TanStack Virtual exists within a larger ecosystem of TanStack libraries including TanStack Query, TanStack Table, TanStack Router, and others, all designed with similar headless and framework-agnostic philosophies. The project actively welcomes community contributions through GitHub issues, pull requests, and discussions, with a dedicated Discord community for real-time collaboration. The repository uses semantic-release for automated versioning and maintains partnerships with organizations like CodeRabbit and Cloudflare, demonstrating its significance within the JavaScript development community.