Typography Scale Recommender
Generate a modular type scale from base font size and ratio such as Major Third or Perfect Fourth, with px and rem sizes and line heights for each step.
Typography Scale Recommender
Calculator
Adjust values & calculateEnter your values below. Every result is computed in your browser โ no data is sent to any server.
Formula: Font Size = Base Size x Ratio^Step
Worked example โ 7 font sizes | Range: 14.2px to 28.8px | Tight scale ideal for text-heavy content
Formula
Font Size = Base Size x Ratio^Step
Each step in the scale multiplies the base font size by the chosen ratio raised to the step number. Step 0 is the base size, positive steps go larger (headings), negative steps go smaller (captions). Common ratios like Major Third (1.250) and Perfect Fourth (1.333) create visually pleasing progressions. Line height is automatically adjusted to decrease for larger sizes, maintaining readability.
Worked Examples
Example 1: Blog/Documentation Scale (Major Second)
Problem:Generate a type scale for a documentation site with 16px base, Major Second ratio (1.125), 1.5 line height, 5 steps up and 1 down.
Solution:Step -1: 16/1.125 = 14.22px (0.889rem) โ Small text Step 0: 16px (1rem) โ Body Step 1: 16 x 1.125 = 18px (1.125rem) โ H6 Step 2: 18 x 1.125 = 20.25px (1.266rem) โ H5 Step 3: 20.25 x 1.125 = 22.78px (1.424rem) โ H4 Step 4: 22.78 x 1.125 = 25.63px (1.602rem) โ H3 Step 5: 25.63 x 1.125 = 28.83px (1.802rem) โ H2 Range: 14.22px to 28.83px (2.0x range)
Result:7 font sizes | Range: 14.2px to 28.8px | Tight scale ideal for text-heavy content
Example 2: Marketing Landing Page (Perfect Fourth)
Problem:Generate a type scale for a landing page with 18px base, Perfect Fourth ratio (1.333), 1.5 line height, 6 steps up and 2 down.
Solution:Step -2: 18/1.333^2 = 10.13px โ Caption Step -1: 18/1.333 = 13.50px โ Small Step 0: 18px โ Body Step 1: 18 x 1.333 = 23.99px โ H6 Step 2: 23.99 x 1.333 = 31.98px โ H5 Step 3: 31.98 x 1.333 = 42.63px โ H4 Step 4: 42.63 x 1.333 = 56.83px โ H3 Step 5: 56.83 x 1.333 = 75.76px โ H2 Step 6: 75.76 x 1.333 = 100.99px โ H1 Range: 10.1px to 101px (10x range)
Result:9 font sizes | Range: 10.1px to 101px | Dramatic scale for marketing headers
Frequently Asked Questions
What is a typographic scale and why should I use one?
A typographic scale is a set of harmoniously sized text elements based on a consistent mathematical ratio, similar to musical scales. Instead of picking arbitrary font sizes (14px, 18px, 22px, 36px), a scale ensures every size relates to the others through a multiplier. This creates visual harmony and hierarchy automatically. For example, with a base of 16px and a Major Third ratio (1.250), your sizes would be 16, 20, 25, 31.25, 39.06px. Using a scale speeds up design decisions, ensures consistency across pages, and makes responsive scaling easier since you only need to adjust the base size.
Which scale ratio should I choose for my project?
The choice depends on your medium and content type. For body-heavy content like blogs and documentation, use smaller ratios (Major Second 1.125 or Minor Third 1.200) to keep sizes close together for comfortable reading. For marketing sites and landing pages, use larger ratios (Perfect Fourth 1.333 or Golden Ratio 1.618) for dramatic headline contrast. Mobile-first designs benefit from smaller ratios since screen space is limited. The Major Third (1.250) is the most popular all-purpose ratio, offering good contrast without extreme size differences. The Golden Ratio (1.618) creates the most dramatic hierarchy but can produce very large headings.
How does line height relate to font size in a type scale?
Line height (leading) should decrease as font size increases. For body text (14-18px), a line height of 1.4-1.6 times the font size provides comfortable reading. For medium headings (20-30px), 1.2-1.3 works well. For large display text (40px+), tight line heights of 1.0-1.15 look best because the extra white space between lines at large sizes creates visual disconnection. Typography Scale Recommender automatically adjusts line height for each step in the scale. A common mistake is using the same line height multiplier for all text sizes, which makes body text cramped or headings look too spaced out.
How do I make my type scale responsive across devices?
The most effective approach is fluid typography using CSS clamp(): set a minimum size, a preferred viewport-relative size, and a maximum size. For example: font-size: clamp(16px, 1vw + 12px, 20px). Alternatively, adjust only the base size at breakpoints and let the scale ratio calculate all other sizes automatically. A common responsive strategy is: mobile base 14-15px, tablet 15-16px, desktop 16-18px. Avoid changing the ratio itself across breakpoints, as this disrupts the visual harmony. Some designers use a smaller ratio on mobile (1.200) and larger on desktop (1.333) for more dramatic desktop headers, but this adds complexity.
What are the accessibility requirements for font sizing?
WCAG 2.1 guidelines require text to be resizable up to 200% without loss of content. Using rem units (relative to root font size) instead of px ensures users can scale text via browser settings. Body text should be at least 16px for comfortable reading; 14px is the absolute minimum. Line height should be at least 1.5 times the font size for body text per WCAG 1.4.12. Letter spacing should be at least 0.12 times the font size. Paragraph spacing should be at least 2 times the font size. Never use font-size in absolute units (pt, cm) for web. Setting your base as 1rem = 16px and expressing all sizes in rem satisfies these requirements by default.
What is the difference between em and rem when expressing scale steps?
An em resolves against the computed font size of the element's parent, so nested elements compound: a 0.9em caption inside a 0.9em aside renders at 0.81 of the outer size. A rem resolves against the root element, whose browser default is 16px, so every step keeps the value this tool reports no matter how deeply it is nested. Use rem for the scale steps themselves, and reserve em for things that should track their own element, such as margins and letter spacing.
How does line length interact with the line height in the scale?
Leading and measure are one decision. A long measure needs more leading because the eye has further to travel back to the start of the next line, and a short measure needs less. Comfortable body measure is usually cited as roughly 45 to 75 characters, which you can set directly with a max-width in ch units. If a column runs much wider than that, raising the base line height above 1.5 helps more than changing font size does.
Why does a large ratio grow so explosively over six steps?
The scale is a geometric progression, so size is base multiplied by ratio to the power of the step, and the growth compounds. Six steps at the major second of 1.125 multiplies the base by about 2.03, turning 16px into roughly 32px. Six steps at the golden section of 1.618 multiplies it by about 17.9, giving around 287px from the same base. That is why text-heavy layouts favour ratios under about 1.25, or keep the aggressive ratio but use fewer positive steps.
Why do two fonts at the same computed size look different in scale?
The px value sets the em box, not the visible letter height. What the eye judges is x-height, the height of a lowercase x relative to that em box, and it varies widely between families. A face with a large x-height reads noticeably bigger at 16px than a face with a small one, and it also tolerates tighter leading. When switching typefaces, adjust the base size so the x-heights match rather than keeping the same number, and leave the ratio and steps alone.
What do the H1 to H6 labels on each step actually mean?
They are the default visual pairing this tool suggests, running step 1 to H6 up to step 6 to H1, so the deeper a heading sits in the outline the smaller its size. That mapping is a sensible starting point, not a binding rule: the heading level itself is document-outline structure for assistive technology and crawlers, while the step is a size token. A hero line can take a display step while remaining a p, and a nested h3 can borrow the step 1 size, provided the outline stays correctly nested.
References
Background & Theory
History
Reviewed for accuracy by Daniel Agrici, Founder & Lead Developer ยท Editorial policy
Related Calculators
๐งฎPersonalized Nutrition Recommender
Calculate personalized nutrition recommender with inputs, formulas, and instant results.
๐งฎNutrition Meal Plan Recommender
Calculate nutrition meal plan recommender with interactive inputs and clear steps.
๐งฎColor Palette Balance AI
Calculate color palette balance ai with inputs, formulas, and instant results.
๐งฎEV Route Charge Planner Range AI
Calculate ev route charge planner range ai with inputs, formulas, and instant results.
๐งฎWork Break Pomodoro Planner AI
Calculate work break pomodoro planner ai with inputs, formulas, and instant results.
๐งฎ3D Print Time Support Estimator
Calculate 3d print time support estimator with inputs, formulas, and instant results.
๐งฎA B Test Significance Power Analyzer
Calculate a b test significance power analyzer with inputs, formulas, and instant results.
๐งฎAccessibility Contrast Optimizer WCAG
Calculate accessibility contrast optimizer wcag with inputs, formulas, and instant results.