The typefaces a brand commits to and the rules assigning them to display, body, and code roles.
Brand typography is the type system a brand commits to: the chosen typefaces and the rules that assign them to display, body, and code. The same sentence set in a geometric sans and in a high-contrast serif reads as two different companies.
Ellen Lupton's *Thinking with Type* treats this as ordinary practice rather than decoration: choosing a typeface means weighing its history and current connotations against the formal qualities of the letters, then matching that to the social situation and the body of content at hand. Lupton is careful that there is no fixed lookup of face to meaning — a geometric sans and a high-contrast serif read differently, but what they signify depends on context — which is why the choice belongs to positioningPositioningGo-To-MarketProduct positioning statementView reference → and not to a finishing step.
Typographic identity predates the web by centuries, but the constraintConstraintStrategyA limit, requirement, or ceiling the product must respect, whether a self-imposed principle or an externally imposed boundaryView reference → that shaped digital brand type was practical: for years a website could only safely use the handful of fonts already installed on the reader's machine. A brand's chosen typeface lived on print and died at the browser.
The @font-face rule broke that limit by letting a page load its own font files. The format problem followed, and WOFF, developed by Mozilla and collaborators around 2009 and adopted as a W3C Recommendation, consolidated a fragmented field. WOFF2, using Brotli compression, now covers the overwhelming majority of traffic and is the format most teams ship.
That shift moved typography from a print afterthought into a first-class brand assetBrand AssetBrand IdentityA brand asset (logo, image, etc.)View reference → that has to be licensed, hosted, and performance-budgeted. A self-hosted web font costs download weight; a hosted service costs a third-party request. Both are now part of the type decisionDecisionStrategyA recorded decision with context, rationale, and consequencesView reference →.
A B2B SaaS brand chooses a humanist sans for display and a separate, more neutral sans for body, plus a monospace for code samples in its docs. Licensing decides the rollout: the display face is licensed for web and product, so it ships as WOFF2 with font-display: swap to avoid blocking render. The team caps the type scale at six sizes, binds each to a design tokenDesign TokenDesign SystemA design token (colour, spacing, typography)View reference →, and the docs site, the app, and the marketing pages all resolve to the same font.family.display variable.
font.family.body) is the binding that makes every screen obey it.In the Unified Product Graph, Brand TypographyBrand IdentityBrand typography specifications is a leaf in the Experience, Design and Brand region, held by brand_typographyBrand IdentityBrand IdentityThe root brand identity entityView reference → through brand_identityBrand Identitytypeset withBrand Typographyhierarchy. Like brand colourBrand ColourBrand IdentityA brand colour definitionView reference →, it feeds the design systemDesign SystemDesign SystemThe root design system entityView reference →: a typeface choice resolves into tokens that the product and the marketing surfaces read, which is what keeps a brand sounding the same in print, in the app, and in the docs.brand_identity_typeset_with_brand_typography
Type-specific fields on BaseNode
font_familystringFont family name (e.g. "Inter", "Playfair Display", "JetBrains Mono")
categoryenumTypographic role within the brand's type system
weight_rangestringAvailable weight range as a string (e.g. "400-700", "100-900")
sample_textstringExample text to preview the font (e.g. "The quick brown fox")
font_sourcestringWhere the font is sourced from. @example "Google Fonts", "Adobe Fonts", "self-hosted", "custom"
line_heightstringRecommended line height as a unitless ratio or CSS value. @example "1.5", "1.75", "24px"
letter_spacingstringRecommended letter spacing / tracking as a CSS value. @example "0.02em", "-0.01em", "normal"
fallback_fontstringFallback font stack for web rendering (CSS font-family fallbacks). @example "system-ui, -apple-system, sans-serif"
idstringrequiredUnique identifier (UUID)
typeNodeTyperequiredDiscriminator for the entity type
titlestringrequiredDisplay name
descriptionstringOptional detailed description
statusstringLifecycle status
tagsstring[]Freeform tags for filtering
1 edge type connected to this entity.
brand_identity_typeset_with_brand_typography