📄 tanstack/table/latest/docs/api/core/header

File: header.md | Updated: 11/15/2025

Source: https://tanstack.com/table/latest/docs/api/core/header



TanStack

Table v8v8

Search...

+ K

Auto

Log In

TanStack StartRC

Docs Examples GitHub Contributors

TanStack Router

Docs Examples GitHub Contributors

TanStack Query

Docs Examples GitHub Contributors

TanStack Table

Docs Examples Github Contributors

TanStack Formnew

Docs Examples Github Contributors

TanStack DBbeta

Docs Github Contributors

TanStack Virtual

Docs Examples Github Contributors

TanStack Paceralpha

Docs Examples Github Contributors

TanStack Storealpha

Docs Examples Github Contributors

TanStack Devtoolsalpha

Docs Github Contributors

More Libraries

Maintainers Partners Support Learn StatsBETA Discord Merch Blog GitHub Ethos Brand Guide

Documentation

Framework

React logo

React

Version

Latest

Search...

+ K

Menu

Getting Started

Core Guides

Feature Guides

Core APIs

Feature APIs

Enterprise

Examples

Framework

React logo

React

Version

Latest

Menu

Getting Started

Core Guides

Feature Guides

Core APIs

Feature APIs

Enterprise

Examples

On this page

Header APIs

Copy Markdown

These are core options and API properties for all headers. More options and API properties may be available for other table features .

Header API
----------

All header objects have the following properties:

### id

tsx

id: string


id: string

The unique identifier for the header.

### index

tsx

index: number


index: number

The index for the header within the header group.

### depth

tsx

depth: number


depth: number

The depth of the header, zero-indexed based.

### column

tsx

column: Column<TData>


column: Column<TData>

The header's associated Column object

### headerGroup

tsx

headerGroup: HeaderGroup<TData>


headerGroup: HeaderGroup<TData>

The header's associated HeaderGroup object

### subHeaders

tsx

type subHeaders = Header<TData>[]


type subHeaders = Header<TData>[]

The header's hierarchical sub/child headers. Will be empty if the header's associated column is a leaf-column.

### colSpan

tsx

colSpan: number


colSpan: number

The col-span for the header.

### rowSpan

tsx

rowSpan: number


rowSpan: number

The row-span for the header.

### getLeafHeaders

tsx

type getLeafHeaders = () => Header<TData>[]


type getLeafHeaders = () => Header<TData>[]

Returns the leaf headers hierarchically nested under this header.

### isPlaceholder

tsx

isPlaceholder: boolean


isPlaceholder: boolean

A boolean denoting if the header is a placeholder header

### placeholderId

tsx

placeholderId?: string


placeholderId?: string

If the header is a placeholder header, this will be a unique header ID that does not conflict with any other headers across the table

### getContext

tsx

getContext: () => {
  table: Table<TData>
  header: Header<TData, TValue>
  column: Column<TData, TValue>
}


getContext: () => {
  table: Table<TData>
  header: Header<TData, TValue>
  column: Column<TData, TValue>
}

Returns the rendering context (or props) for column-based components like headers, footers and filters. Use these props with your framework's flexRender utility to render these using the template of your choice:

tsx

flexRender(header.column.columnDef.header, header.getContext())


flexRender(header.column.columnDef.header, header.getContext())

Table API
---------
### getHeaderGroups

tsx

type getHeaderGroups = () => HeaderGroup<TData>[]


type getHeaderGroups = () => HeaderGroup<TData>[]

Returns all header groups for the table.

### getLeftHeaderGroups

tsx

type getLeftHeaderGroups = () => HeaderGroup<TData>[]


type getLeftHeaderGroups = () => HeaderGroup<TData>[]

If pinning, returns the header groups for the left pinned columns.

### getCenterHeaderGroups

tsx

type getCenterHeaderGroups = () => HeaderGroup<TData>[]


type getCenterHeaderGroups = () => HeaderGroup<TData>[]

If pinning, returns the header groups for columns that are not pinned.

### getRightHeaderGroups

tsx

type getRightHeaderGroups = () => HeaderGroup<TData>[]


type getRightHeaderGroups = () => HeaderGroup<TData>[]

If pinning, returns the header groups for the right pinned columns.

### getFooterGroups

tsx

type getFooterGroups = () => HeaderGroup<TData>[]


type getFooterGroups = () => HeaderGroup<TData>[]

Returns all footer groups for the table.

### getLeftFooterGroups

tsx

type getLeftFooterGroups = () => HeaderGroup<TData>[]


type getLeftFooterGroups = () => HeaderGroup<TData>[]

If pinning, returns the footer groups for the left pinned columns.

### getCenterFooterGroups

tsx

type getCenterFooterGroups = () => HeaderGroup<TData>[]


type getCenterFooterGroups = () => HeaderGroup<TData>[]

If pinning, returns the footer groups for columns that are not pinned.

### getRightFooterGroups

tsx

type getRightFooterGroups = () => HeaderGroup<TData>[]


type getRightFooterGroups = () => HeaderGroup<TData>[]

If pinning, returns the footer groups for the right pinned columns.

### getFlatHeaders

tsx

type getFlatHeaders = () => Header<TData, unknown>[]


type getFlatHeaders = () => Header<TData, unknown>[]

Returns headers for all columns in the table, including parent headers.

### getLeftFlatHeaders

tsx

type getLeftFlatHeaders = () => Header<TData, unknown>[]


type getLeftFlatHeaders = () => Header<TData, unknown>[]

If pinning, returns headers for all left pinned columns in the table, including parent headers.

### getCenterFlatHeaders

tsx

type getCenterFlatHeaders = () => Header<TData, unknown>[]


type getCenterFlatHeaders = () => Header<TData, unknown>[]

If pinning, returns headers for all columns that are not pinned, including parent headers.

### getRightFlatHeaders

tsx

type getRightFlatHeaders = () => Header<TData, unknown>[]


type getRightFlatHeaders = () => Header<TData, unknown>[]

If pinning, returns headers for all right pinned columns in the table, including parent headers.

### getLeafHeaders

tsx

type getLeafHeaders = () => Header<TData, unknown>[]


type getLeafHeaders = () => Header<TData, unknown>[]

Returns headers for all leaf columns in the table, (not including parent headers).

### getLeftLeafHeaders

tsx

type getLeftLeafHeaders = () => Header<TData, unknown>[]


type getLeftLeafHeaders = () => Header<TData, unknown>[]

If pinning, returns headers for all left pinned leaf columns in the table, (not including parent headers).

### getCenterLeafHeaders

tsx

type getCenterLeafHeaders = () => Header<TData, unknown>[]


type getCenterLeafHeaders = () => Header<TData, unknown>[]

If pinning, returns headers for all columns that are not pinned, (not including parent headers).

### getRightLeafHeaders

tsx

type getRightLeafHeaders = () => Header<TData, unknown>[]


type getRightLeafHeaders = () => Header<TData, unknown>[]

If pinning, returns headers for all right pinned leaf columns in the table, (not including parent headers).

Edit on GitHub

Header Group

Row

Partners Become a Partner

Code RabbitCode Rabbit CloudflareCloudflare AG GridAG Grid NetlifyNetlify NeonNeon WorkOSWorkOS ClerkClerk ConvexConvex ElectricElectric SentrySentry PrismaPrisma StrapiStrapi UnkeyUnkey

scarf analytics