React components for efficiently rendering large lists and tabular data by only mounting the rows and cells that are visible.
bvaughn/react-virtualized
React components for efficiently rendering large lists and tabular data by only drawing the visible rows and cells.
- Stars
- 27,069
- Forks
- 3,017
- Open issues
- 0
- Last commit
- 3 days ago
What is it?
react-virtualized is a set of React components for displaying large lists, grids and tables without rendering every item at once. Components such as List, Grid, Table and Masonry only mount the cells currently in the viewport, which keeps rendering fast when the dataset is large.
The package includes CellMeasurer for cells whose sizes are not known in advance, and higher-order components like InfiniteLoader, ScrollSync, ColumnSizer and ArrowKeyStepper for loading more data, synchronizing scroll positions and handling keyboard navigation. Grid, List, Masonry and Table can also scroll with the window or another scrollable element. Installation is via npm, and it ships with TypeScript types.
The project notes that AutoSizer moved to the separate react-virtualized-auto-sizer package as of version 10, and suggests react-window as a lighter alternative for new projects.
Key features
- 01Virtualized List, Grid, Table and Masonry components that render only visible cells.
- 02CellMeasurer for measuring dynamically sized cells.
- 03InfiniteLoader for loading data as the user scrolls.
- 04ScrollSync for keeping multiple scrollable areas aligned.
- 05Window scrolling support via the scrollElement prop.
- 06Tree-shakeable ES and CommonJS builds with TypeScript types.
Use cases
- Rendering a table with thousands of rows in a React admin dashboard.
- Building a spreadsheet-like grid with fixed headers and columns.
- Creating an infinite-scrolling feed or list loaded page by page.
- Displaying a long, variable-height list such as chat messages or logs.
Quick start
- 1
Install react-virtualized with npm
npm install react-virtualized --save
Things to know
- The README recommends react-window as a lighter-weight alternative for new projects.
- Peer dependencies react and react-dom must be installed by your project.
Topics
FAQ
- What is react-virtualized?
- React components for efficiently rendering large lists and tabular data by only drawing the visible rows and cells. react-virtualized is a set of React components for displaying large lists, grids and tables without rendering every item at once. Components such as List, Grid, Table and Masonry only mount the cells currently in the viewport, which keeps rendering fast when the dataset is large.
- Is react-virtualized free to use? What license does it have?
- react-virtualized is open source under the MIT license. Check the license terms before using it in commercial products.
- Is react-virtualized still maintained?
- Actively maintained. The last commit to react-virtualized was on Oct 19, 2026.
- What can I use react-virtualized for?
- Rendering a table with thousands of rows in a React admin dashboard. Building a spreadsheet-like grid with fixed headers and columns. Creating an infinite-scrolling feed or list loaded page by page. Displaying a long, variable-height list such as chat messages or logs.
- How do I install react-virtualized?
- Install react-virtualized with npm: npm install react-virtualized --save
- Where can I get react-virtualized?
- The source code and installation instructions are on GitHub: https://github.com/bvaughn/react-virtualized
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Headless TypeScript/JavaScript table library for building datagrids with full control over markup and styling, across React, Vue, Solid, Svelte and more.
An unstyled React component library of accessible UI primitives for building custom design systems.
A React component library implementing Google's Material Design, with a broad set of ready-made UI components.
React Native for Web: a library that lets React Native components and APIs render in web browsers through React DOM.
A collection of installable instruction packs that give AI coding agents Vercel-specific and React/Next.js best-practice knowledge.