Back to components
ComponentTableFree

Frozen Columns Table React component

A wide table that scrolls sideways while the first column, any pinned columns and the total stay frozen, with a sticky header, a sticky totals footer, edge shadows that appear as you scroll and pin buttons in the headers.

About the Frozen Columns Table component

Frozen Columns Table is for data that's wider than the screen: the name column and the total stay in place while the months in between scroll sideways, the header stays on top while you scroll down, and a totals row stays at the bottom.

Soft shadows show where content is scrolling underneath the frozen edges, and any column can be pinned from its header so the numbers you're comparing stay side by side.

When to use it

Use it for monthly reports, financial statements, cohort data, feature comparison grids and any table with a label column and many value columns.

If the table fits the width, a regular table is simpler; for row-level detail, pair it with an expandable row.

Installation

Add the Frozen Columns Table component to your project with the shadcn CLI. It lands in components/frozen-columns-table.tsx as plain React + Tailwind CSS source you own and can edit.

Install
Copied!
npx shadcn@latest add @reactframe/frozen-columns-table

Or copy the source by hand and install its dependencies:

Install
Copied!
npm install clsx tailwind-merge

More Table components

Heatmap Table
Free
Expandable Row Table
Free
Sparkline Table
Free
Spreadsheet Grid
Free
Grouped Rows Table
Free
Comparison Table