Typography Scale

What Is the Typography Scale Generator?

Generate harmonious type scales using musical and mathematical ratios. Create consistent heading and body text hierarchies for web projects.

Why Use This Tool?

A typography scale defines the relative sizes of headings, body text, and small text using a consistent ratio. This creates visual harmony — the same principle that makes musical intervals sound pleasing.

How to Use This Typography Scale

  1. Set your base font size — Enter the base size for body text — 16px is the browser default and the most common starting point.
  2. Choose a scale ratio — Select from Major Second (1.125), Minor Third (1.2), Major Third (1.25), Perfect Fourth (1.333), or Augmented Fourth (1.414). Higher ratios create more dramatic size differences.
  3. Preview the scale — See all generated sizes applied to sample headings and body text, from H1 down to small/caption text.
  4. Copy the values — Export the scale as CSS custom properties, a Tailwind v3 config, SCSS variables or a plain rem/px list.

Tips and Best Practices

Related tools

Frequently Asked Questions

What ratio should I use?
Minor Third (1.200) for compact designs, Major Third (1.250) for general web use, Perfect Fourth (1.333) for spacious layouts, and Golden Ratio (1.618) for dramatic hierarchies.
How many scale steps do I need?
Typically 6-8: a base size, 3-4 heading levels, and 1-2 small text sizes. More steps are needed for complex editorial designs.
Should I use the scale for spacing too?
Yes — many design systems derive spacing values from the same ratio as their type scale. This creates a unified visual rhythm across typography and layout.
What is a typographic scale?+
A typographic scale is a set of font sizes generated by multiplying a base size by a consistent ratio. Starting from 16px with a 1.25 ratio: 16 → 20 → 25 → 31.25 → 39.06. This mathematical progression creates naturally harmonious size relationships, similar to musical intervals. It's the foundation of consistent, professional typography.
What does each export contain?+
CSS Variables gives --font-heading, --font-body and nine --text-* sizes in rem (base 16 px = 1rem), with the pixel size as a comment. Tailwind gives a complete Tailwind v3 tailwind.config.js with theme.extend.fontSize (each size with its line height) and fontFamily. SCSS gives the same values as $variables. Rem Values is a plain list. Serif fonts fall back to serif and the rest to sans-serif. The Tailwind and SCSS exports were checked with Node and Dart Sass.
How does a type scale improve design consistency?+
Without a scale, designers pick font sizes arbitrarily — 14px here, 17px there, 22px somewhere else. A scale constrains choices to a harmonious set of values. This creates predictable visual hierarchy, reduces design decisions, makes responsive scaling easier, and ensures sizes look intentionally related rather than random.
How are line heights chosen?+
Steps from Large up use 1.15, the base and Medium steps use the Line Height slider (1.6 by default), and the two small steps use 1.5. They appear in the preview and in the Tailwind export; the CSS and SCSS exports carry sizes only.
Should body text be a step in the scale or sit outside it?+
Body text should be a fixed step in the scale and is usually the anchor — the size every other step is derived from. Common practice is to set body at 16px (or 1rem) and let the scale ratio generate the heading sizes upward and the caption/label sizes downward. Treating body as 'outside the scale' breaks the math and makes future scale tweaks (changing the ratio for a new visual direction) much harder.

📖 Learn More

Related Article How to Build a Typography Scale for Web Design →

Built by Derek Giordano · Part of Ultimate Design Tools

Privacy Policy · Terms of Service