Home / Snippets / Typography /

Tabular numbers for data

Quarterly revenue uses proportional figures by default; tabular figures keep the decimal columns visually stacked.

Regional sales (USD)

RegionQ1Q2Q3
Nordic128,400.0094,250.50201,990.25
Iberia88,090.1076,400.00112,005.75
Figures set with font-variant-numeric: tabular-nums on the table.
Widely Supported
typographytabular-numsno-js

Quick implementation

.data-table {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
}
.data-table th,
.data-table td { text-align: right; }
.data-table th:first-child,
.data-table td:first-child { text-align: left; }

Prompt this to your LLM

Finance dashboards and analytics tables.

You are styling a data table of currency amounts.

Goal: Right-align numeric columns while keeping digit widths equal so decimals line up.

Constraints:
- Apply font-variant-numeric: tabular-nums (and font-feature-settings: "tnum" 1 as fallback) on the table or tbody.
- First column stays left-aligned for labels.

Return CSS only.

Why this matters in 2026

Scanning columns is faster when numbers share width; proportional figures jitter visually on every row.

The logic

OpenType tabular figures swap to fixed-width digit glyphs without changing the font family.

Accessibility & performance

This is pure presentation; screen readers still announce the numeric values. No layout thrash.