# Feature catalog — TanStack/table

> Canonical page: https://codevetter.com/unpack/table/feature-catalog

# Feature catalog — TanStack/table

Scanned commit 23f21c194e6eba2e7f0321e817104d6e118d6141 (2026-10-01). Generated by codevetter codevetter 1.15.0 on 2026-10-02.

Source inspection; upstream code and tests were not executed.

Features are developer-facing APIs that applications turn into controls and rendered grids. The stock registry includes table transformations, column management, row interaction, and spreadsheet-style cell behavior. Examined examples add virtualization, asynchronous query ownership, and worker processing around those APIs. This catalog describes the inspected feature families and examples; the supplied inventory and this investigation are bounded.
- Sorting supports click toggles, Shift-based multi-sort, removal, maximum multi-sort columns, custom comparator functions, named comparator registries, undefined placement, and inverted ordering. — [packages/table-core/src/features/row-sorting/rowSortingFeature.ts#L36-L49](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/packages/table-core/src/features/row-sorting/rowSortingFeature.ts#L36-L49) [packages/table-core/src/features/row-sorting/rowSortingFeature.utils.ts#L254-L354](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/packages/table-core/src/features/row-sorting/rowSortingFeature.utils.ts#L254-L354) [packages/table-core/src/features/row-sorting/createSortedRowModel.ts#L96-L144](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/packages/table-core/src/features/row-sorting/createSortedRowModel.ts#L96-L144)
- Column filtering, global filtering, and column faceting are independently exported capabilities; faceting supplies row models, unique-value counts, and min/max factories, while filtered processing is replaceable or bypassable. — [packages/table-core/src/index.ts#L80-L91](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/packages/table-core/src/index.ts#L80-L91) [packages/table-core/src/features/stockFeatures.ts#L19-L36](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/packages/table-core/src/features/stockFeatures.ts#L19-L36) [packages/table-core/src/core/row-models/coreRowModelsFeature.utils.ts#L61-L75](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/packages/table-core/src/core/row-models/coreRowModelsFeature.utils.ts#L61-L75)
- Grouping and aggregation are separate features. The worker example demonstrates custom grouping values, sum/mean aggregations, and multiple named aggregate results such as median plus extent rendered by aggregatedCell. — [packages/table-core/src/features/stockFeatures.ts#L19-L36](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/packages/table-core/src/features/stockFeatures.ts#L19-L36) [examples/react/web-worker-row-models/src/tableConfig.tsx#L45-L74](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/examples/react/web-worker-row-models/src/tableConfig.tsx#L45-L74) [examples/react/web-worker-row-models/src/tableConfig.tsx#L108-L157](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/examples/react/web-worker-row-models/src/tableConfig.tsx#L108-L157)
- The stock registry exposes column ordering, visibility, start/end pinning, sizing, and resizing, alongside row expansion, pagination, pinning, and selection. columnResizingFeature requires columnSizingFeature at the typed registration boundary. — [packages/table-core/src/features/stockFeatures.ts#L19-L36](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/packages/table-core/src/features/stockFeatures.ts#L19-L36) [packages/table-core/src/types/TableFeatures.ts#L94-L106](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/packages/table-core/src/types/TableFeatures.ts#L94-L106)
- Cell selection provides selected IDs, range-value grids, counts, and data-change resets; cell spanning integrates with selection so a range clipping a merged cell expands to enclose it. — [packages/table-core/src/features/cell-selection/cellSelectionFeature.utils.ts#L107-L120](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/packages/table-core/src/features/cell-selection/cellSelectionFeature.utils.ts#L107-L120) [packages/table-core/src/features/cell-selection/cellSelectionFeature.utils.ts#L1206-L1264](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/packages/table-core/src/features/cell-selection/cellSelectionFeature.utils.ts#L1206-L1264) [packages/table-core/tests/implementation/features/cell-selection/cellSelectionSpanAware.test.ts#L68-L97](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/packages/table-core/tests/implementation/features/cell-selection/cellSelectionSpanAware.test.ts#L68-L97)
- React offers selector-based useTable subscriptions, table.Subscribe, bound FlexRender, and reusable createTableHook contexts/components. The spreadsheet example adds keyboard navigation, editing/undo commands, and both row and column virtualization through separate integrations. — [packages/react-table/src/useTable.ts#L126-L143](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/packages/react-table/src/useTable.ts#L126-L143) [packages/react-table/src/createTableHook.tsx#L937-L999](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/packages/react-table/src/createTableHook.tsx#L937-L999) [examples/react/spreadsheet/src/SpreadsheetGrid.tsx#L77-L136](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/examples/react/spreadsheet/src/SpreadsheetGrid.tsx#L77-L136) [examples/react/spreadsheet/src/SpreadsheetGrid.tsx#L154-L175](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/examples/react/spreadsheet/src/SpreadsheetGrid.tsx#L154-L175)
- The Query example demonstrates offset and cursor pagination over simulated asynchronous data, with sorting/filtering performed outside the table. The worker example replaces filtering/grouping/sorting factories while retaining expansion, pagination, and selection on the main thread. — [examples/react/with-tanstack-query/src/fetchData.ts#L112-L153](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/examples/react/with-tanstack-query/src/fetchData.ts#L112-L153) [examples/react/with-tanstack-query/src/main.tsx#L148-L171](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/examples/react/with-tanstack-query/src/main.tsx#L148-L171) [examples/react/web-worker-row-models/src/routes/index.tsx#L41-L49](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/examples/react/web-worker-row-models/src/routes/index.tsx#L41-L49)
- Devtools let users select among registered tables and inspect features, state, options, rows, and columns. Registration requires a table key; adapters support conditional registration and explicit production entrypoints. — [packages/table-devtools/src/TableContextProvider.tsx#L19-L47](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/packages/table-devtools/src/TableContextProvider.tsx#L19-L47) [docs/devtools.md#L57-L80](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/docs/devtools.md#L57-L80) [docs/devtools.md#L287-L327](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/docs/devtools.md#L287-L327) [docs/devtools.md#L332-L345](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/docs/devtools.md#L332-L345)

Every claim links to its cited files at the pinned commit. Citations identify source evidence; they do not establish runtime correctness. Independent CodeVetter scan — not reviewed by upstream maintainers.

## Public product links

- [CodeVetter](https://codevetter.com/)
- [Download](https://codevetter.com/download)
- [Documentation](https://codevetter.com/docs/)
- [Source](https://github.com/Codevetter/codevetter)
