Brand Font Stack Builder

Four-slot brand stack

Distinct families4
Stylesheet requests1 (this domain's shared font sheet)
Generic fallbacks named4 / 4 slots

Slot preview

display

Brand typography, decided once.

text

Long-form copy uses the text slot: this sentence is set in Source Serif 4 to check its reading rhythm at body size.

ui

Interface label · Button · Nav item — Inter

mono

const stack = "JetBrains Mono";

css output
:root {
  --font-racira-display: 'Fraunces', serif;
  --font-racira-text: 'Source Serif 4', serif;
  --font-racira-ui: 'Inter', sans-serif;
  --font-racira-mono: 'JetBrains Mono', monospace;
}

.display { font-family: var(--font-racira-display); }
.prose   { font-family: var(--font-racira-text); }
body     { font-family: var(--font-racira-ui); }
code     { font-family: var(--font-racira-mono); }

You Might Also Need

The brand font stack builder collects all four face decisions a brand needs, display, text, interface and monospace, and emits the complete set of CSS custom properties a design system consumes. It exists so the whole stack is decided in one place rather than drifting across files.

What is Brand Font Stack Builder?

The brand font stack builder takes a brand prefix and four face slots, then renders each slot and exports the custom properties and role rules that define them.

  • Four slots are filled: display, text, interface and monospace, each drawn from the catalogue and each carrying its own fallback chain in the emitted stack.
  • A brand prefix is used to name the custom properties, slugified into a safe form so a name with spaces or punctuation still produces valid CSS.
  • Each slot is previewed with content suited to it: a display line, a paragraph, an interface label row and a line of code.
  • The readouts report how many distinct families the four slots actually use, whether the generic fallbacks are named for all four, and how many stylesheet requests the set implies.
  • The exported CSS writes one custom property per slot and one rule per role, so a component consumes a variable name rather than a family name.

The prefix convention is the part that makes the output portable. Naming a property with the brand in it keeps the variables from colliding with a component library's own tokens, and the slugification means a brand typed with a space, an ampersand or any punctuation still produces a property name a stylesheet can use. The distinct-family readout is the other useful check: four slots do not have to mean four families, and a system that fills display and text with the same face is reporting that its hierarchy rests on weight and size rather than on shape. The monospace slot is deliberately included even for brands with no technical content, because code, keyboard shortcuts, tabular figures and version strings appear in most design systems eventually, and deciding the face once is cheaper than adding a fifth stack later.

  • The slots are filled from the catalogue, so a brand whose faces are not loaded here cannot be represented.
  • The emitted stacks carry the catalogue's fallback chain rather than a project-specific one, so a different local fallback has to be edited in afterwards.
  • The prefix is used for property names, and nothing else about a design system's naming convention, such as scale prefixes or semantic roles, is modelled.
  • Weights, sizes and loading strategy are all outside the tool, so the stacks describe families only.
  • The four slots are fixed, so a system that needs a separate accent or editorial face has to extend the output by hand.

Use it when a brand's typography is being defined once for several products, when a design system needs its font variables settled, or when four slots have been decided in different places and have to be brought together. Where the emitted stacks need to survive a slow connection, the loading strategy is the companion decision rather than part of this one. The CSS font stack builder produces the stacks themselves in detail, the system font stack generator covers the platform-native alternative, and the editorial style guide generator turns the same decisions into a written guide.

How to use Brand Font Stack Builder

  1. Enter the brand prefix that will name the custom properties, checking that the slugified form is one you would accept in a stylesheet.
  2. Fill the four slots from the catalogue, reading the distinct-family count to see whether the system is genuinely using four faces.
  3. Check the slot preview, paying attention to the monospace slot even if the brand has no technical content yet.
  4. Copy the custom properties and role rules, then substitute the project's own fallback chain if it differs from the catalogue's.

When to use Brand Font Stack Builder vs related tools

Reach for it when a brand's typography has to be defined once across products, when a design system's font variables are being established, or when the four slots were decided separately and need reconciling. Where the stacks need their fallbacks worked out in detail the CSS font stack builder does that, the system font stack generator covers faces that ship with the platform, and the editorial style guide generator writes the decisions up as a guide.

Privacy & Security

This tool runs entirely in your browser — no data ever leaves your device. There is no server round-trip, no upload, no logging, and no account required. Your input is processed locally using client-side JavaScript and is never stored, transmitted, or accessible to anyone else. When you close the tab, everything disappears.

Frequently asked questions about Brand Font Stack Builder