A headless table library for building powerful, customizable datagrids with full control over markup, styles, and behavior.
TanStack Table is a headless UI library for building powerful tables and datagrids in JavaScript and TypeScript applications. It provides a framework-agnostic core with bindings for React, Vue, Solid, Svelte, Angular, and Lit, handling complex table logic while giving developers full control over the user interface. The library solves the problem of building customizable, feature-rich tables without being constrained by pre-built UI components.
Frontend developers building data-intensive applications who need customizable tables with advanced features like sorting, filtering, and virtualization. It's particularly valuable for teams using multiple frameworks or those requiring complete control over table markup and styling.
Developers choose TanStack Table for its headless architecture that provides maximum flexibility while offering powerful table functionality out-of-the-box. Unlike opinionated table components, it separates logic from presentation, allowing complete customization while maintaining excellent performance and framework compatibility.
🤖 Headless UI for building powerful tables & datagrids for TS/JS - React-Table, Vue-Table, Solid-Table, Svelte-Table
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
The library provides a core that works with React, Vue, Solid, Svelte, Angular, and Lit, allowing code reuse across different tech stacks, as emphasized in the README's adapter support.
Developers have 100% control over markup, styles, and components, enabling unique table designs without being constrained by pre-built UI, as stated in the key features.
It includes sorting, filtering, grouping, aggregation, and row selection out-of-the-box, reducing the need for custom logic implementation for common table operations.
Lightweight and virtualizable, it handles large datasets efficiently and is server-side friendly, making it suitable for performance-critical applications.
Being headless, it requires developers to build all UI components from scratch, including accessibility features, which can be time-consuming compared to using pre-styled libraries.
Integrating advanced features like virtualization or server-side pagination often requires additional dependencies and deep API knowledge, leading to a steeper onboarding curve.
The library provides zero CSS, forcing teams to rely on external styling solutions or custom CSS, which can increase project complexity and maintenance burden.