ProductBrand
Join us
Foundations
  • Introduction
  • Colors
  • Typography
  • Icons
  • Illustrations
  • Logos
  • Shadows
Components
  • Accordion
  • Alert Dialog
  • Avatar
  • Badge
  • Button
  • Calendar
  • Card
  • Chart
  • Checkbox
  • Collapsible
  • Combobox
  • Context Menu
  • Date Picker
  • Dialog
  • Drawer
  • Dropdown Menu
  • Fluid Avatar
  • Hover Scroll Text
  • Input
  • Kbd
  • Popover
  • Progress Bar
  • Radio Group
  • Scroll Area
  • Select
  • Selectors
  • Separator
  • Separator Dot
  • Shimmer Text
  • Skeleton
  • Slider
  • Switch
  • Tabs
  • Textarea
  • Toast
  • Tooltip
Compositions
  • Empty State
  • File Attachment
  • Floating Bar
  • Input Banner
  • Markdown Editor
  • Media Controls
  • Product Feature Banner
  • Panels
  • Sidebar
  • Reasoning Trace
  • Pagination
  • Data Table
  • Breadcrumb
  • Thread Outline
Inline
  • Overview
  • Stat Tile
  • Metric Row
  • Comparison Table
  • Chart Card
  • Trend Tile
  • Cite
  • Custom
  • Agent skill

Comparison Table

A compact, framed table for comparing entities side by side - peers, scenarios, holdings. Columns are declared as data, numeric columns right-align and render mono, and each cell renders through a typed render function so you can drop badges or two-line cells in.

Examples

A peer comparison in chat
Compare Northwind against its closest peers.

Northwind leads the peer set on both revenue and margin:

CompanyRevenueGross marginRating
NorthwindNWD
$4.51B61.2%Buy
GlobexGBX
$3.98B58.4%Hold
InitechINI
$2.74B49.1%Hold

Props

PropTypeDescription
columnsComparisonColumn<T>[]Column definitions (see below).
rowsT[]The row data.
getRowKey(row: T, index: number) => stringStable React key per row.

ComparisonColumn

FieldTypeDescription
keystringStable column identifier / React key.
headerReactNodeColumn header content.
align"left" | "right"Right-align renders the cell mono + tabular.
render(row: T) => ReactNodeCell content for a row.
tsx
const columns: ComparisonColumn<Peer>[] = [
  { key: "name", header: "Company", render: (p) => p.name },
  { key: "revenue", header: "Revenue", align: "right", render: (p) => p.revenue },
];

<ComparisonTable columns={columns} rows={peers} getRowKey={(p) => p.ticker} />;

Agent context

Use ComparisonTable to compare entities across columns. Mark numeric columns align: "right" so they render mono and tabular. Prefer this over a hand-rolled <table>.

PreviousMetric Row
NextChart Card
Made in NYC© 2026 Rogo Technologies Inc.

Design at Rogo

We’re redesigning an entire industry. Come design it with us.

See open roles

Design at Rogo

  • How we workThe mission of design at Rogo, and the open roles
  • About RogoThe company and the product