https://github.com/tanstack/virtual
🤖 Headless UI for Virtualizing Large Element Lists in JS/TS, React, Solid, Vue and Svelte
https://github.com/tanstack/virtual
javascript performance react reactjs scrolling solid solidjs svelte virtualization virtualized vue
Last synced: 7 days ago
JSON representation
🤖 Headless UI for Virtualizing Large Element Lists in JS/TS, React, Solid, Vue and Svelte
- Host: GitHub
- URL: https://github.com/tanstack/virtual
- Owner: TanStack
- License: mit
- Created: 2020-05-08T07:25:21.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2025-04-14T06:48:01.000Z (8 days ago)
- Last Synced: 2025-04-15T05:02:14.466Z (7 days ago)
- Topics: javascript, performance, react, reactjs, scrolling, solid, solidjs, svelte, virtualization, virtualized, vue
- Language: TypeScript
- Homepage: https://tanstack.com/virtual
- Size: 6.98 MB
- Stars: 5,981
- Watchers: 34
- Forks: 336
- Open Issues: 68
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README

Headless UI for virtualizing scrollable elements in TS/JS and React
Enjoy this library? Try the entire [TanStack](https://tanstack.com)! [React Query](https://github.com/TanStack/react-query), [TanStack Table](https://github.com/TanStack/table), [React Charts](https://github.com/TanStack/react-charts)
## Visit [tanstack.com/virtual](https://tanstack.com/virtual) for docs, guides, API and more!
## Quick Features
- Row, Column, and Grid virtualization
- One single **headless** function
- Fixed, variable and dynamic measurement modes
- Imperative scrollTo control for offset, indices and alignment
- Custom scrolling function support (eg. smooth scroll)