Typography
Convert sets everything in Geist Sans. This page documents the typeface, the live type scale with its token names and roles, and the usage rules that keep copy consistent.
Geist Sans
Geist Sans is Convert's single typeface, used across every headline, paragraph, label and UI element.
Geist Sans is a clean, geometric sans-serif designed for screens. Its tight, neutral letterforms read well at both display and body sizes, which lets Convert hold a single typeface across the whole system. Five weights cover everything from light supporting text to bold display headlines.
<link href="https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700&display=swap" rel="stylesheet">
Type scale
Every step rendered at its real size. Reference the token in code, never a raw pixel value.
Monospace
One mono stack supports the rare places where fixed-width type earns its keep.
Monospace
--font-mono is reserved for category tags, code samples and token names, anywhere fixed-width characters keep things aligned and signal "this is a literal value." It is never used for running copy.
BUILD · MEASURE · RUN
--space-6
Dennis, the handwritten accent
A typeface digitized from Dennis's real handwriting, for the rare places where a human touch says more than a clean sans.
Dennis Aligned is a single Regular weight built from Dennis's own pen strokes. Baselines are aligned so text sits on a line, but each letter keeps its natural handwritten size and rhythm. Coverage is intentionally small: lowercase, uppercase and basic punctuation — no digits or special characters.
@font-face {
font-family: 'Dennis Aligned';
src: url('/brand/assets/fonts/Dennis-Aligned.woff2') format('woff2'),
url('/brand/assets/fonts/Dennis-Aligned.ttf') format('truetype');
font-weight: 400;
font-display: swap;
}
When to use it
- Handwritten annotations on visuals: margin notes, arrow labels, circled highlights.
- Founder sign-offs: a short signature line under a quote from Dennis.
- Personal asides in social and newsletter images where a human aside earns attention.
- Keep it short and large: a few words at 20px or more. Never body copy, headings or UI text — that stays Geist Sans.
- No digits or special characters yet: stick to letters and basic punctuation (. , : ; ! ? and quotes).
Usage rules
A few conventions keep Convert's copy consistent and readable across every page.
- Use sentence case for all headlines, capitalize only the first word and proper nouns.
- No exclamation marks in feature copy. Convert's voice is calm and confident, not loud.
- Apply
-1pxletter-spacing to hero H1 headlines for a tighter, more deliberate look. - Apply
-0.5pxletter-spacing to section H2 headings. - Apply
-3pxletter-spacing to large stat-deck numbers so the digits sit close together. - Keep body copy to 60-75 characters per line maximum, past that, readability drops.
Note: Convert's design system is actively evolving. These values are current as of the latest update; confirm before using them in permanent or printed materials.