Type scale

Every screen is built from a small set of type roles. Here is the size, weight, and spacing scale underneath them, then the full catalog of named text styles with where each is used. Switch platform in the bar below to compare iOS and Android.

The scale

The ingredients each style is built from: font size and line height per role. iOS and Android differ on font family, size, line height, letter spacing, and paragraph spacing; only font weight is shared. Switch platform to compare. Weight, paragraph, and letter spacing are the separate token sets shown below.

Font: SF Pro Text · SF Pro Display · iOSTwo optical cuts: SF Pro Display for titles 20pt and up, SF Pro Text for everything 19pt and below. The cut follows the size automatically.

Title

Use headings to name screens and sections so people know where they are and what the content is about.

Title Largelg
32pt
36pt
Title Mediummd
24pt
28pt
Title Smallsm
19pt
24pt

Body

Use paragraph for primary reading text, like body copy in articles, pages, and longer descriptions.

Body Mediummd
17pt
22pt
Body Smallsm
14pt
18pt

Label

Use for small supporting text and compact UI labels, like captions, metadata, buttons, and chrome.

Label Mediummd
12pt
16pt
Label Smallsm
10pt
12pt

Font weight

Five semantic weights make text weight choices consistent across platforms. On Android, `heavy` maps to black (900); the other weights match iOS.

Regularregular400
Mediummedium500
Semiboldsemibold600
Boldbold700
Heavyheavy800

Paragraph spacing

Adds a vertical gap between paragraphs, with the same spacing on both platforms.

none0pt · scale.positive.0

Tellus keeps your money working in the background, automatically.

This second paragraph sits exactly 0pt below the first — the gap this token defines.

md12pt · scale.positive.300

Tellus keeps your money working in the background, automatically.

This second paragraph sits exactly 12pt below the first — the gap this token defines.

Letter spacing

Use tracking primitives to set letter spacing that stays aligned to the type scale.

Typography3xs-0.45pt
Typography2xs-0.41pt
Typographyxs-0.32pt
Typographysm-0.08pt
Typographynone0pt
Typographymd0.32pt
Typographylg0.38pt
Typographyxl0.45pt

Text styles

The full set of named styles, role and size and weight combined, taken 1:1 from the source design system. Each row shows its real preview, metrics, status, and where it is used across the production components today. Styles marked Unused are not referenced by any component and are candidates for removal during labs. A few live only inside native components like the date picker, flagged Nativefor a dev check since engineers render those with the system's own type. Nothing is deleted yet while components and layouts are still being cleaned up.

Title

PreviewStyleSize / LHWeightTrackingParagraphFontStatus & usage
Title LG RegulartitleLgRegular
titleLg32/36pt
regular
lg0.38pt
none
displaySF Pro Display
Limited use
OTP code digits.
Title LG SemiboldtitleLgSemibold
titleLg32/36pt
semibold
lg0.38pt
none
displaySF Pro Display
In use
Sheet and navbar titles, dock and group headers.
Title LG BoldtitleLgBold
titleLg32/36pt
bold
lg0.38pt
none
displaySF Pro Display
Limited use
Large balance amounts.
Title LG HeavytitleLgHeavy
titleLg32/36pt
heavy
lg0.38pt
none
displaySF Pro Display
Unused · may be removed in labs
Not referenced by any component.
Title MD RegulartitleMdRegular
titleMd24/28pt
regular
lg0.38pt
none
displaySF Pro Display
Unused · may be removed in labs
Not referenced by any component.
Title MD SemiboldtitleMdSemibold
titleMd24/28pt
semibold
lg0.38pt
none
displaySF Pro Display
In use
Avatar labels, headers, sheet titles.
Title MD BoldtitleMdBold
titleMd24/28pt
bold
lg0.38pt
none
displaySF Pro Display
Unused · may be removed in labs
Not referenced by any component.
Title SM RegulartitleSmRegular
titleSm19/24pt
regular
2xs-0.41pt
none
textSF Pro Text
Limited useNative · confirm with devs
Chat type bar, and calendar day numbers (native picker).
Title SM MediumtitleSmMedium
titleSm19/24pt
medium
2xs-0.41pt
none
textSF Pro Text
Limited useNative · confirm with devs
Calendar month arrows (native picker).
Title SM SemiboldtitleSmSemibold
titleSm19/24pt
semibold
2xs-0.41pt
none
textSF Pro Text
In use
Card and row headers, sheet section titles. The most used title.
Title SM BoldtitleSmBold
titleSm19/24pt
bold
2xs-0.41pt
none
textSF Pro Text
Unused · may be removed in labs
Not referenced by any component.

Body

PreviewStyleSize / LHWeightTrackingParagraphFontStatus & usage
Body MD RegularbodyMdRegular
bodyMd17/22pt
regular
2xs-0.41pt
none
textSF Pro Text
In use
Paragraph text, list rows, input values.
Body MD MediumbodyMdMedium
bodyMd17/22pt
medium
2xs-0.41pt
none
textSF Pro Text
In use
Emphasized list values, alerts, card labels.
Body MD SemiboldbodyMdSemibold
bodyMd17/22pt
semibold
2xs-0.41pt
none
textSF Pro Text
In use
Button and chip labels, dialog and alert titles.
Body MD BoldbodyMdBold
bodyMd17/22pt
bold
2xs-0.41pt
none
textSF Pro Text
Unused · may be removed in labs
Not referenced by any component.
Body SM RegularbodySmRegular
bodySm14/18pt
regular
xs-0.32pt
md12pt
textSF Pro Text
In use
Secondary text, chat bubbles, helper text, form groups.
Body SM MediumbodySmMedium
bodySm14/18pt
medium
xs-0.32pt
md12pt
textSF Pro Text
In use
Chip labels, list and chat metadata.
Body SM SemiboldbodySmSemibold
bodySm14/18pt
semibold
xs-0.32pt
md12pt
textSF Pro Text
In use
Pill, chip and link labels, banners, account rows.
Body SM BoldbodySmBold
bodySm14/18pt
bold
xs-0.32pt
md12pt
textSF Pro Text
Unused · may be removed in labs
Not referenced by any component.

Label

PreviewStyleSize / LHWeightTrackingParagraphFontStatus & usage
Label MD RegularlabelMdRegular
labelMd12/16pt
regular
none0pt
none
textSF Pro Text
In use
Badge, input and list labels, progress.
Label MD MediumlabelMdMedium
labelMd12/16pt
medium
none0pt
none
textSF Pro Text
In use
Badges, helper text, wallet card labels.
Label MD SemiboldlabelMdSemibold
labelMd12/16pt
semibold
none0pt
none
textSF Pro Text
In use
Buttons, navbars, card headers, sheet labels.
Label MD BoldlabelMdBold
labelMd12/16pt
bold
none0pt
none
textSF Pro Text
Unused · may be removed in labs
Not referenced by any component.
Label SM RegularlabelSmRegular
labelSm10/12pt
regular
none0pt
none
textSF Pro Text
In use
Navbar and toolbar metadata, card sublabels.
Label SM MediumlabelSmMedium
labelSm10/12pt
medium
none0pt
none
textSF Pro Text
In use
Wallet card labels, transaction metadata.
Label SM SemiboldlabelSmSemibold
labelSm10/12pt
semibold
none0pt
none
textSF Pro Text
In use
Notification badges, tab labels, boost card.
Label SM BoldlabelSmBold
labelSm10/12pt
bold
none0pt
none
textSF Pro Text
In use
Card headers for referral, select, and verification.

Using them in code

Every style above ships as ready-to-use code, composed from the same tokens so engineers never hand-assemble a font. Reach a style by name from the catalog, or build any role and weight from the blueprint. Switch platform to see the native shape and download the files.

Named style
One handle per catalog entry — you can only reach styles that exist.
// UIKit
label.font = TellusTextStyle.titleLgSemibold.uiFont

// SwiftUI
Text("Balance").font(TellusTextStyle.titleLgSemibold.font)
Blueprint
Compose any role + weight on the fly.
let style = TellusTextStyle(.titleLg, .semibold)
label.font = style.uiFont            // size + weight (SF Pro optical cut is automatic)
// line height + tracking + paragraph are properties — apply via NSParagraphStyle:
style.lineHeight   // 36
style.tracking     // 0.38
style.paragraphSpacing

These files are generated from the same spine as the tokens above — a style changed in Figma and synced regenerates them automatically. The named catalog lists every style the design system actually defines (the 27 above); the blueprint builds any role and weight on demand.