Figma UI kit
Foundations

Typography and data formats

Six sizes and no seventh. Words are set in Inter; numbers people compare down a column are set in the data face.

The type scale from 52px display to 10px column heads, beside a pipe OD readout of 14.375 inches, plus or minus 0.010, set in the data face.

The type scale

StyleSizeSampleUse
Display / Cover52pxWeld fixtureCover pages, marketing
Display / Headline38pxWeld fixturePage heroes
Section Header18pxWeld fixtureView and section headers
Label & Body13pxWeld fixtureBody copy, labels, buttons
Table & Input12pxWeld fixtureCells, fields, pills, hints
Dense Header10pxDue dateData-grid column heads only

The one 10px tier

10px uppercase on the dense tracking is a column head and nothing else. Labels, hints, values and pills are 12px. Gate C10 fails 10px anywhere outside a column head.

Do
VendorGulf Coast Steel · net 30
Do: keep 10px for the column head and set every label, value and pill at 12px.
Avoid
VendorGulf Coast Steel · net 30Last ordered 3 weeks ago
Avoid: dropping a drawer to 10px to fit more in. It stays on the scale and still reads as unusably small.

Data formats

The data face (JetBrains Mono, through --font-mono-data) is for numbers, timestamps, currency and part serials, where a reader compares digits down a column. It never sets a sentence.

KindExampleRule
Quantity24Data face, tabular figures, right aligned in a column
Currency$1,284.50Data face, two decimals, symbol leading
Timestamp09 Oct 2026, 14:05Data face; day before month, 24-hour
Part serialJF0004Data face; never truncated
Count in a chip3/24 rcvdInter with tabular figures, not the data face
No value-A hyphen in muted text, or nothing
Do

PO PO-3514215 arrives Friday with 24 of 24 lines.

Do: set the sentence in Inter and only the identifier in the data face.
Avoid

PO PO-3514215 arrives Friday with 24 of 24 lines.

Avoid: monospace in continuous prose. It slows reading and hides the one value that matters.

Punctuation

No em dashes in anything the app writes: labels, hints, toasts, empty states or cells. Use a colon, a comma, parentheses or a full stop. An empty cell shows a hyphen in muted text.

  • ASME B16.9 (A234 WPB), not a dash between the two.
  • Damaged: batch quarantined.
  • Text the app only displays, like a vendor description, is data: it can be normalised for display but is never rewritten.

More in Foundations and concepts