petyosi/react-virtuoso

The most powerful virtual list component for React

View on GitHub ↗Jump to charts ↓Open shareable report →

petyosi/react-virtuoso has 6k+ stars and 350+ forks on GitHub, is written in TypeScript, and was last pushed on Oct 14, 2026. Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 16 minutes ago
Added to GitGenius on May 25th, 2023
Created on May 3rd, 2019
Open Issues & Pull Requests: 54 (+0)
GitHub issues: Enabled
Number of forks: 359
Total Stargazers: 6,472 (+0)
Total Subscribers: 27 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 7.1 hours
Mean response time: 232.1 days
90th percentile: 1146.4 days
Tracked items: 214

Maintainer activity

1 person did triage or write work on this repository in the last 12 months.

Counts unlabeled, assigned, unassigned, milestoned, demilestoned, locked, unlocked over the last 12 months. These are issue and pull request events that require triage or write permission. Commits and code review are not counted. labeled and renamed are excluded because GitHub issue forms record the issue author as the actor. Figures from October 11, 2026. This count is not comparable across projects: each project's automation decides which of these events a person emits. How this is counted.

How this project is maintained

About 12% of issues opened in the past year have never received a reply. 95% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "bug" is answered fastest, typically in about 6 hours, while "released" waits about 6 months. 71% of issues opened in the past year have been closed, leaving a working backlog. Three people close 93% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 42
New in 7 days: 2
Closed in 7 days: 3
Avg open age: 792 days
Stale 30+ days: 40
Stale 90+ days: 38

Recent activity

Opened in 7 days: 2
Closed in 7 days: 3
Comments in 7 days: 1
Events in 7 days: 4

Top labels

  • bug (398)
  • released (89)
  • enhancement (52)
  • PR welcome (33)
  • question (29)
  • duplicate (22)
  • invalid (16)
  • wontfix (16)

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

React Virtuoso is a TypeScript-based React component library designed to render large lists and data sets efficiently through virtual scrolling. The codebase has attracted attention from developers working on major projects including Microsoft VSCode, Microsoft TypeScript, and the Rust language repository, indicating its relevance to high-performance rendering challenges.

The library provides multiple specialized components tailored to different use cases. The base Virtuoso component handles variable-sized items without requiring manual height measurements or hard-coding, automatically managing content resize and supporting features like pinned top items, endless scrolling, and scroll-to-index functionality. The MessageList component is purpose-built for chat interfaces and conversational UIs, offering imperative data management APIs that control scroll position when messages load or arrive, with support for both instant and smooth scroll animations. GroupedVirtuoso extends the core functionality to support grouped lists with sticky headers, accepting a groupCounts array to define item distribution across groups. VirtuosoGrid renders same-sized items in responsive multi-column layouts controlled through CSS properties, enabling media query support and flexible sizing. The Masonry component handles varying-height items in column layouts suitable for galleries and product listings. TableVirtuoso applies virtualization to HTML tables with support for window scrolling, sticky headers and columns, and integration with Tanstack Table and MUI Table libraries.

The project has been classified across numerous performance and rendering-related domains including virtual scrolling, lazy loading, infinite scroll, dynamic content handling, and large data management, reflecting its core purpose of enabling efficient rendering of large datasets.

The library emphasizes flexibility and customization, allowing developers to adapt the markup to their specific UI library requirements, with documented examples for Material UI integration. The documentation website at virtuoso.dev provides comprehensive guides and live examples for all supported features. The project maintains an MIT license and actively encourages community contributions through a defined contribution process, while also accepting sponsorships to support ongoing development and maintenance.