For windowed content, the strongest matches are inokawa/virtua (Virtua is a framework-agnostic virtualized list library that efficiently), petyosi/react-virtuoso (This repository provides a virtualized list component library that) and akryum/vue-virtual-scroller (This repository provides a virtualization engine for high-performance list). tanstack/virtual and bvaughn/react-virtualized round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Hand-picked open-source virtual scrolling libraries for high-performance windowed content. Compare features, stars, and activity to find the best fit.
Virtua is a framework-agnostic virtualized list library that efficiently renders large lists and tables by mounting only visible DOM nodes, supporting dynamic item heights and horizontal scrolling.
React Virtuoso is a React component library for rendering large datasets efficiently through virtualized lists, grids, tables, and chat interfaces. It automatically measures variable-height items at runtime, computes accurate scroll offsets without requiring fixed sizes, and renders only the items within the visible viewport plus a configurable buffer zone. The library manages scroll position through a state machine that tracks direction, position, and anchor items to handle auto-scroll, sticky headers, and bidirectional loading. The library distinguishes itself with specialized components fo
This repository provides a virtualized list component library that handles variable item heights, grids, and tables efficiently, but it is specifically built for React rather than being completely framework-agnostic.
This library is a headless virtualization engine designed to optimize performance for large-scale list and grid rendering in Vue applications. By mounting only the elements currently visible within the viewport, it minimizes browser operations and memory usage, allowing interfaces to remain responsive even when handling massive datasets. The engine distinguishes itself through a headless layout abstraction that decouples virtualization logic from specific markup, enabling the creation of custom interfaces without enforcing rigid container styles. It features automatic, dynamic size calculatio
This repository provides a virtualization engine for high-performance list and grid rendering, but it is specifically built for the Vue ecosystem rather than being a framework-agnostic web component library.
TanStack Virtual is a headless, framework-agnostic virtualization library that efficiently renders large lists and tables by only mounting visible items, supporting variable sizes, horizontal scrolling, and smooth performance across multiple frontend frameworks.
react-virtualized is a library of components for rendering massive lists and tables by drawing only the elements visible in the viewport. It provides specialized layout managers including a windowed grid component and a dynamic height list manager. The project includes a masonry layout engine for packing items of varying heights and widths, as well as an infinite scroll interface for incrementally fetching and appending data. The library covers a broad range of virtualization capabilities, including frozen grid elements, reverse list rendering, and synchronized viewport scrolling. It also su
This is a well-established virtualization library for rendering massive lists and tables efficiently, though it is specifically tailored for React rather than being entirely framework-agnostic.
This library is a high-performance data grid component for React applications, designed to manage and display large datasets. It provides a declarative configuration system that allows developers to define table structures, data sources, and feature toggles through a structured object schema. The library distinguishes itself through a flexible layout engine that supports complex UI requirements, such as pinning headers and specific columns to viewport edges during scrolling. It utilizes virtualized rendering to maintain interface responsiveness by displaying only the visible subset of data, e
This repository provides a high-performance React data grid with virtualized rendering specifically built to handle large datasets efficiently. While it is tied to React rather than being entirely framework-agnostic, it fulfills the core requirement for windowed list and table rendering.
Vue-easytable is a high-performance data grid component designed for the Vue.js framework. It provides a comprehensive interface for displaying and managing large-scale tabular data, utilizing virtual scrolling to maintain responsiveness by rendering only the visible subset of rows within the browser. The component offers spreadsheet-style interaction, enabling users to perform direct, in-place data editing and manipulation. It supports complex grid configurations, including column pinning, row expansion, and data filtering, allowing for the organization of structured information to improve r
This is a Vue-specific data table component featuring virtual scrolling for large datasets, though it is tied to a specific framework rather than being a framework-agnostic general component library.
React Base Table is a library of reusable interface components designed for building complex, responsive data grids within web applications. It provides a high-performance foundation for rendering large datasets by utilizing window-based row virtualization, which ensures the user interface remains responsive even when displaying extensive collections of data. The library distinguishes itself through flexible layout and navigation capabilities, including support for hierarchical data structures that can be rendered as expandable tree rows. It allows for precise control over table geometry thro
React Base Table is a virtualized data table component specifically built for React that uses windowing to efficiently render large datasets, though it is tied to React rather than being fully framework-agnostic.
ngx-datatable is a feature-rich data table component for Angular applications designed to display and manage large datasets. It functions as a customizable data grid that supports sorting, pagination, and the use of custom Angular templates for styling data cells. The component is distinguished by its high-performance virtual scrolling grid, which renders only visible rows to optimize memory and CPU usage. It provides an interactive interface for managing data through row selection, column reordering, and expandable detail views. The project covers a broad set of capabilities including colum
ngx-datatable provides high-performance virtual scrolling for large datasets, but its tightly coupled Angular implementation makes it framework-specific rather than a framework-agnostic component library.
React-window is a frontend performance optimization library designed to render large datasets in React applications. It implements virtualization techniques to manage long lists and complex tabular data by dynamically mounting and unmounting elements based on the current viewport. By limiting the number of active document nodes, the library maintains interface responsiveness when handling thousands of data entries. The library distinguishes itself through a focus on efficient layout calculations and scroll-driven reconciliation. It uses absolute positioning and predefined dimensions to determ
React-window is a React component library that implements virtual scrolling and grid virtualization to efficiently render large lists, though it is tied to React rather than being fully framework-agnostic.
SlickGrid is a high-performance JavaScript data grid and virtualized data table designed to render large datasets in the browser. It functions as a web spreadsheet component and tabular data manager, utilizing virtual scrolling to maintain responsiveness when displaying hundreds of thousands of entries. The library employs a canvas-based UI system to draw grid lines and elements, reducing the total number of DOM nodes. It separates raw data from visual presentation through column-based mapping and uses a formatter pipeline to transform data values into HTML strings. Capabilities include row
SlickGrid is a high-performance JavaScript data grid providing virtual scrolling to render large datasets efficiently, though it is specifically focused on tabular data grids rather than general-purpose virtual lists.
Glide Data Grid is a virtualized data grid for React and TypeScript that uses the HTML Canvas API to render millions of cells smoothly. It is designed as an accessible data table that maintains high frame rates when displaying and navigating massive datasets. The project distinguishes itself through a canvas-based rendering architecture that utilizes lazy rendering and a custom drawing API. This allows for specialized cell content and data-driven styling that bypasses standard DOM update cycles to ensure high performance. The grid provides comprehensive layout and data management capabilitie
Glide Data Grid efficiently renders massive datasets through a virtualized canvas-based architecture, though it is specifically tailored for React rather than being a fully framework-agnostic component.
react-data-grid is a high-performance table component for React designed to render large datasets using virtualization. It functions as a virtualizing data table that optimizes memory and performance by rendering only the rows and columns currently visible on the screen. The project provides a customizable spreadsheet interface featuring cell editing, column resizing, and pinned rows. It also acts as a hierarchical data grid, supporting row grouping and tree structures to organize complex nested information. The grid covers wide-ranging data management and display capabilities, including mul
This repository provides a high-performance virtualized data grid component tailored for React, though it is tied to that specific framework rather than being fully framework-agnostic.
Tabulator is an interactive data table library and virtual DOM data grid used to create high-performance tables from JSON or arrays. It functions as a hierarchical data viewer and a spreadsheet interface component, capable of rendering thousands of records efficiently through viewport-based virtualization and progressive loading. The library distinguishes itself by providing a full spreadsheet interface mode with multi-sheet management, cell range selection, and bulk copy-paste capabilities. It supports complex data architectures, including nested data field mapping, expandable tree structure
Tabulator is a comprehensive interactive data table library featuring built-in viewport-based virtualization to render large datasets efficiently, though it is designed primarily as a full-featured data grid rather than a general-purpose list windowing component.
React tiny virtual list is a zero-dependency component library that optimizes performance for extensive vertical and horizontal collections by rendering only the items currently visible in the viewport. It handles large datasets efficiently while supporting variable item dimensions and dynamic content updates at runtime. The component supports both horizontal and vertical scroll directions, absolute positioning layouts, and dynamic offset measurements computed via fixed numbers, size arrays, or callback functions. It also provides imperative methods to programmatically scroll or jump to speci
This is a React-specific virtualized list component supporting variable sizes and scrolling, though it is tied to React rather than being fully framework-agnostic.
| 仓库 | Star 数 | 语言 | 许可证 | 最后推送 |
|---|---|---|---|---|
| inokawa/virtua | 3.5K | TypeScript | mit | |
| petyosi/react-virtuoso | 6.3K | TypeScript | — | |
| akryum/vue-virtual-scroller | 10.6K | Vue | — | |
| tanstack/virtual | 7K | TypeScript | MIT | |
| bvaughn/react-virtualized | 27.1K | JavaScript | MIT | |
| alibaba/ali-react-table | 979 | TypeScript | MIT | |
| happy-coding-clans/vue-easytable | 3.8K | JavaScript | MIT | |
| autodesk/react-base-table | 1.5K | TypeScript | MIT | |
| swimlane/ngx-datatable | 4.7K | TypeScript | MIT | |
| bvaughn/react-window | 17.2K | TypeScript | MIT |