The short version
- Typography rests on six decisions: size, weight, line height, letter spacing, alignment and line length.
- A type scale, where each size is a fixed ratio larger than the last, gives a design a clear and consistent hierarchy.
- Body text reads comfortably with a line height of about 1.4 to 1.6 times the font size, while large headlines need less, around 1.0 to 1.2.
- Lines of about 45 to 75 characters are the range most often recommended for comfortable reading.
- Two or three weights are enough for most designs, and they should differ clearly, such as regular and bold rather than regular and medium.
On this page
Typography basics come down to six decisions: the size of each piece of text, its weight, the line height, the letter spacing, the alignment and the line length. Get those right and almost any decent typeface looks professional; get them wrong and the best font in the world looks amateur. Each has a sensible default, given below, that you can depart from on purpose.
Size: use a type scale
Picking sizes one at a time leads to a page full of nearly-the-same sizes, and no clear order. A type scale fixes that: start from a base size and multiply by the same ratio for each step up. The ratio sets the character. Small ratios, like 1.2, feel calm and dense; large ones, like 1.5, feel dramatic and editorial.
| Step | Ratio 1.25 from 16 px | Typical use |
|---|---|---|
| Small | 12.8 px | Captions, labels |
| Base | 16 px | Body text |
| Step 1 | 20 px | Lead paragraph, large body |
| Step 2 | 25 px | Subheadings |
| Step 3 | 31.25 px | Section headings |
| Step 4 | 39 px | Page titles |
| Step 5 | 48.8 px | Hero headlines |
:root {
--step--1: 0.8rem; /* 12.8px */
--step-0: 1rem; /* 16px */
--step-1: 1.25rem; /* 20px */
--step-2: 1.5625rem; /* 25px */
--step-3: 1.953rem; /* 31.25px */
--step-4: 2.441rem; /* 39px */
--step-5: 3.052rem; /* 48.8px */
}
body { font-size: var(--step-0); }
h3 { font-size: var(--step-2); }
h2 { font-size: var(--step-3); }
h1 { font-size: var(--step-5); }On social posts the canvas is larger, so the numbers are bigger but the idea is the same. On a 1080-pixel-wide post, a headline of around 90 to 120 pixels and a detail line of around 40 to 56 keeps a clear step between them and reads on a phone.
Weight: fewer weights, clearer steps
Weight is the thickness of the strokes, usually numbered from 100 (thin) to 900 (black), with 400 as regular and 700 as bold. Two or three weights are enough for most designs. The key is that neighbouring weights must look different: regular against bold reads as a deliberate contrast, regular against medium often reads as a mistake.
Muddled
- Five weights on one page
- Regular 400 against medium 500 for emphasis
- Light or thin weights for small body text
- Bold used for whole paragraphs
Clear
- Two or three weights, each with a job
- Regular 400 against bold 700 or semibold 600
- Regular or medium for body at small sizes
- Bold for a few words that must stand out
Line height: room between lines
Line height, or leading, is the distance from one line to the next. Body text needs air to be read comfortably: about 1.4 to 1.6 times the font size is a reliable range. Large headlines need less, around 1.0 to 1.2, because at big sizes the gaps look much wider than they are. Long lines need a little more line height than short ones, so the eye can find the start of the next line. Line height and line length goes deeper.
Letter spacing: mostly leave it alone
Typefaces are spaced by their designers for their intended sizes, so body text rarely needs adjusting. Two exceptions are worth knowing. Large headlines often look better slightly tighter, a small negative value such as -0.01em to -0.02em. Text in capitals, and small labels, need the opposite: a little extra space, around 0.05em to 0.1em, because capitals were designed to sit next to lowercase letters. Letter spacing covers the details.
Alignment
Left-aligned text, with a ragged right edge, is the default for a reason: every line starts in the same place, so the eye finds it easily. Centred text suits short pieces, like a headline, a quote or an invitation, and becomes tiring beyond a few lines. Justified text looks neat in print where the software can hyphenate well, but on the web it often opens uneven gaps between words.
Three sizes from one scale, two weights, tight leading on the headline and a little extra spacing on the small label above it.
Line length: the measure
The length of a line, the measure, matters as much as its size. Lines that are too long make it hard to find the next one; lines that are too short break the reading rhythm with constant returns. A range of about 45 to 75 characters per line is the one most often recommended for body text. On the web, the ch unit makes this easy.
article p {
max-width: 65ch; /* about 65 characters per line */
line-height: 1.55;
}
h1 {
line-height: 1.1;
letter-spacing: -0.015em;
text-wrap: balance; /* evens out headline lines where supported */
}
.label {
text-transform: uppercase;
letter-spacing: 0.08em;
font-size: var(--step--1);
}text-wrap: balance is ignored safely where it isn't supported.Rhythm: spacing that groups
Space tells readers what belongs together. A heading should sit closer to the paragraph it introduces than to the one before it, so put more space above headings than below. Keep paragraph spacing consistent, and use one spacing unit, often based on the body line height, throughout. When space is used consistently, the page gains a rhythm that makes it feel calm even when it's full. Visual hierarchy builds on this.
- 1
Choose a body size
16 pixels or larger on screens; much larger on social posts.
- 2
Pick a scale ratio
1.2 for calm and dense, 1.25 for most things, 1.333 or more for editorial drama.
- 3
Set two weights
Regular for reading, bold or semibold for emphasis and headings.
- 4
Set line heights
About 1.5 for body, about 1.1 for large headlines.
- 5
Limit the measure
Around 65 characters for body text.
- 6
Space with a unit
One spacing step, reused, with more space above headings than below.
With these in place, the choice of typeface becomes the fun part rather than the fix. Start with font pairing and serif vs sans serif.
Questions people ask
What are the basic rules of typography?
Use a consistent type scale, two or three clearly different weights, a line height of about 1.4 to 1.6 for body text, lines of about 45 to 75 characters, left alignment for long text, and consistent spacing.
What is a good body text size for websites?
16 pixels is a common minimum for body text on screens, and many sites use slightly larger.
What line height should I use?
About 1.4 to 1.6 times the font size for body text, and around 1.0 to 1.2 for large headlines.
What is a type scale?
A set of font sizes where each is a fixed ratio larger than the last, such as 1.25, so every size relates to the others and the hierarchy stays consistent.
Written by Gradiently
The team behind Gradiently, a design tool built around Marks: living gradients that make everything you design look like yours.
See our profile


