For column selection interfaces, the strongest matches are alibaba/ali-react-table (It is a React data grid library with declarative), nadbm/react-datasheet (This is a React data grid component that supports) and rowsncolumns/grid (This repository provides a high-performance canvas-based data grid component). mui/mui-x and ag-grid/ag-grid round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Hand-picked open-source column selection interfaces for tables, ranked by stars and activity. Compare the top components and find the best fit.
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
It is a React data grid library with declarative column configurations and layout engines that supports structural column management, though it lacks a few specific features like a customizable header renderer.
react-datasheet is a React data grid component and tabular editor that provides an interactive spreadsheet interface. It is designed for managing tabular data with built-in support for cell editing and keyboard navigation. The project is distinguished by its flexibility in rendering and structure, allowing the replacement of standard table elements with custom markup such as lists or divs. It supports custom cell rendering through a mapping system that swaps default cells with specialized components based on cell metadata. The component covers broad capabilities for tabular data management,
This is a React data grid component that supports interactive tabular editing and custom cell rendering, though it is narrower than the full column-management specification requested.
This project is a high-performance data grid component designed for React applications. It provides a declarative framework for rendering large-scale datasets and complex tabular structures by utilizing a canvas-based drawing engine instead of traditional document object model nodes. The library distinguishes itself through a windowed virtualization engine that maintains constant memory usage by rendering only the visible portion of the grid. It translates pointer interactions into specific cell references through coordinate-based mapping and supports the injection of external application sta
This repository provides a high-performance canvas-based data grid component for React applications, making it a fitting tool for building table interfaces even though specific features like column reordering and visibility toggling are not explicitly detailed in the summary.
MUI X is a collection of advanced React UI components for building data-rich applications, including a data grid, charting library, date and time pickers, scheduler, and tree view. The library is built with accessibility as a core principle, ensuring all components meet WCAG and WAI-ARIA standards for keyboard navigation and screen reader announcements. The components are designed for extensibility and performance. The data grid offers comprehensive data management with sorting, filtering, pagination, column pinning, row grouping, inline editing, and Excel export. The charting library support
MUI X provides an advanced React data grid with built-in column reordering, visibility toggling, pinning, and table integration, making it a comprehensive solution for complex data table interfaces.
AG Grid is a JavaScript data grid library designed for rendering and manipulating large datasets within web applications. It functions as a comprehensive toolset for building interactive tables that support complex data visualization, enabling the display of massive volumes of information while maintaining responsive user interactions. The library distinguishes itself through a column-oriented layout engine and a plugin-based architecture that allows for modular extensions. It utilizes a cell-based component lifecycle and an expression-based evaluation engine to manage data updates and format
AG Grid is a comprehensive data grid library that natively provides robust column reordering, visibility toggling, and header customization, though it operates as a full grid rather than a narrow standalone column picker component.
This project is a data grid library designed for building complex, interactive tables within React applications. It provides a suite of modular components that enable the display of structured information, supporting both custom cell rendering and flexible column configurations to accommodate diverse data presentation needs. The library is built to handle large datasets by utilizing virtualized rendering, which ensures high performance by only processing the subset of rows currently visible within the viewport. It distinguishes itself through support for dynamic row heights and programmatic s
This project is a React data grid library that supports column configuration and cell rendering for large datasets, though it focuses more on virtualization and sizing than full column reordering or visibility toggling out of the box.
Grid.js is a framework-agnostic JavaScript library for rendering interactive data grids. It allows for the display of structured information in tabular formats across different frontend environments, supporting data population from static arrays or JSON imports. The library features a plugin system for extending user interface components and logic, as well as a custom data pipeline for transforming information before it is displayed. It includes built-in support for multilingual localization to translate interface elements and messages. The project covers core data visualization capabilities
Grid.js is an interactive data grid library that provides table integration and rendering capabilities, though it lacks dedicated column reordering and advanced column selection features out of the box.
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 is a high-performance virtualized table component for React that supports customizable columns and data rendering, though you will need to wire up explicit column visibility and reordering controls yourself.
This project is a feature-rich data grid component designed for Vue applications. It provides a flexible interface for rendering, managing, and manipulating structured information, offering built-in support for essential tabular operations such as sorting, filtering, pagination, and row selection. The library distinguishes itself through its highly extensible architecture, which allows developers to override default rendering for cells, headers, and pagination controls using scoped slots. It supports complex data workflows by enabling hierarchical organization through collapsible row grouping
This project is a Vue data grid component that provides table and grid integration alongside custom header renderers and column management, though it lacks dedicated column reordering and visibility toggling features.
react-data-grid is a high-performance tabular interface for rendering and manipulating large datasets within a React application. It functions as a virtualized data table and editable spreadsheet component that supports hierarchical data grids with expandable and collapsible row groupings. The component maintains performance with massive datasets by rendering only the rows and columns currently visible in the viewport. It provides spreadsheet-like data manipulation, including cell editing and the ability to copy, paste, or drag values between cells. The grid supports advanced layout capabili
It provides a high-performance virtualized data grid component with table integration, interactive column resizing, and column pinning, though it lacks dedicated column reordering and visibility toggling features out of the box.
vxe-table is a high-performance data table component and UI library for Vue, designed for building data-heavy applications. It functions as a virtualized data grid and spreadsheet UI framework capable of rendering millions of rows by mounting only the visible elements of a dataset. The project distinguishes itself through spreadsheet-like functionality, including cell selection, copy-paste support, and the generation of cross-tabulated pivot tables. It also provides specialized tools for managing complex data hierarchies using virtual trees, row grouping, and cell merging. The library covers
vxe-table is a high-performance Vue data grid and spreadsheet component library that provides robust column visibility toggling, reordering, and multi-column management features tailored for complex tables.
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
This Angular component provides a robust data grid with built-in column reordering, resizing, and visibility management, fulfilling the core UI needs despite being scoped to a specific framework.
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 full-featured interactive data table and grid library that natively supports column reordering and visibility toggling, though it implements column management through its own configuration API rather than specialized header widgets.
TanStack Table is a headless, framework-agnostic engine designed for building complex data grids and managing tabular state. By decoupling data processing logic from the visual rendering layer, it allows developers to implement custom user interfaces while offloading sophisticated operations like sorting, filtering, grouping, and pagination to a unified, performant core. The library distinguishes itself through its commitment to type safety and environment flexibility. It leverages strict type definitions to ensure data integrity across the entire application and utilizes an adapter pattern t
TanStack Table is a headless state management engine for building data grids that provides robust underlying support for column visibility, reordering, and table integration, though you will need to implement the visual rendering layer yourself.
Datatable for React based on material-ui's table with additional features
This repository provides a React data grid component built on Material-UI that includes built-in column visibility toggling and table integration, though it lacks customizable header renderers and advanced multi-column selection.
Datatables for React using Material-UI
This React datatable component integrates with Material-UI to provide built-in column visibility toggling and table features, though it lacks direct support for customizable header renderers and multi-column selection.
Vue Table with Tree Grid is a table component for Vue applications that displays hierarchical tree grids with expandable rows, custom cell formatting, and row interaction events. It transforms complex parent-child datasets into expandable tree grid structures with adjustable child indentation levels to help users explore multi-level information. The component supports reactive state-driven selection to maintain row expansion and checkbox selection states, alongside recursive tree-grid flattening that simplifies rendering calculations. It utilizes slot-based rendering to inject user-defined te
This Vue.js component provides table and tree-grid structures for data display, fitting the broader UI component category even though it focuses primarily on hierarchical grid rendering rather than advanced column customization features.
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
Vue-easytable is a robust data grid component for Vue.js that supports comprehensive table integration and column management features, though it specifically targets full data grid functionality rather than standalone column selection tools.
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 data grid component library that handles column manipulation and rendering for large datasets, though it lacks direct support for some advanced column visibility and reordering features out of the box.
Tui Grid is a JavaScript data grid component designed for rendering, editing, and organizing structured tabular information and hierarchical tree views within web applications. It provides inline data editing, validation rules, spreadsheet-style keyboard navigation, and virtualized rendering to handle extensive datasets efficiently. The library distinguishes itself through structural capabilities including command-based keyboard shortcuts for range selection and clipboard synchronization, a declarative cell renderer architecture, and virtual column pinning. It supports asynchronous remote dat
This JavaScript data grid component provides table and data grid integration with features like column state linkages and management, though it lacks dedicated column reordering and visibility toggling listed in the requirements.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| alibaba/ali-react-table | 979 | TypeScript | MIT | |
| nadbm/react-datasheet | 5.4K | JavaScript | MIT | |
| rowsncolumns/grid | 633 | TypeScript | — | |
| mui/mui-x | 5.8K | TypeScript | — | |
| ag-grid/ag-grid | 15.4K | TypeScript | NOASSERTION | |
| schrodinger/fixed-data-table-2 | 1.3K | JavaScript | NOASSERTION | |
| grid-js/gridjs | 4.7K | TypeScript | MIT | |
| glideapps/glide-data-grid | 5.2K | TypeScript | MIT | |
| xaksis/vue-good-table | 2.2K | Vue | MIT | |
| adazzle/react-data-grid | 7.6K | TypeScript | NOASSERTION |