Skip to content

Shadcn Table ​

The shadcn/ui Table is a set of styled, semantic table components, built with Tailwind CSS v4. It gives you a header, body, footer, rows, cells, and a caption for clean, accessible tabular data. For sorting and pagination, layer TanStack on top as a Data Table. Tables display records across ShadcnStore blocks.

Key features ​

  • Semantic table markup: header, body, footer, caption.
  • Consistent spacing, borders, and hover styles.
  • Right-aligned numeric columns with utilities.
  • Composable rows and cells for any data shape.
  • The base for the Data Table pattern.

Installation ​

bash
npx shadcn@latest add table

Usage ​

tsx
import {
  Table,
  TableHeader,
  TableBody,
  TableRow,
  TableHead,
  TableCell,
  TableCaption,
} from "@/components/ui/table"

export function Example() {
  return (
    <Table>
      <TableCaption>A list of your recent invoices.</TableCaption>
      <TableHeader>
        <TableRow>
          <TableHead>Invoice</TableHead>
          <TableHead className="text-right">Amount</TableHead>
        </TableRow>
      </TableHeader>
      <TableBody>
        <TableRow>
          <TableCell>INV001</TableCell>
          <TableCell className="text-right">$250.00</TableCell>
        </TableRow>
      </TableBody>
    </Table>
  )
}

No primitive dependency ​

The Table is styled markup with no primitive dependency.

Accessibility ​

  • Use TableHead for real th headers so screen readers announce columns.
  • Add a TableCaption that names what the table contains.
  • Keep data in semantic cells; do not fake tables with divs.

When to use the Table ​

Use the Table primitive for static or simple tabular data: invoices, specs, pricing comparisons, and summaries. When you need sorting, filtering, pagination, or row selection, build a Data Table with TanStack. For key-value details, a description list or Card is clearer.

Used in these blocks ​

For interactive tables use a Data Table; add a Badge for status cells, a Dropdown Menu for row actions, and Pagination below.

FAQ ​

What is the shadcn table? ​

The Table is a set of styled, semantic table components (header, body, footer, row, cell, caption) for displaying static or simple tabular data.

What is the difference between Table and Data Table? ​

Table is the styled markup primitive. The Data Table pattern adds TanStack Table on top for sorting, filtering, and pagination.

How do I make a table responsive? ​

Wrap the table in a container with overflow-x-auto so it scrolls horizontally on small screens.

How do I right-align a numeric column? ​

Add text-right to the relevant TableHead and TableCell.