Understanding typography hierarchy
Typography hierarchy tells visitors what to read first, what to skim, and what to act on. Here is how to build a deliberate type system for your site.
Fredy Rodriguez
Table of Contents
Most small business websites have a typography problem their owners cannot quite name. The fonts look fine. The site does not look broken. But something feels off: visitors do not know where to start reading, the page feels dense, or the headings blend into body copy. The problem is almost always hierarchy, or the absence of one.
Typographic hierarchy is the system of visual differences that tells readers which text is most important, which provides context, and which they can skip. Size, weight, color, spacing, and case, used intentionally and in combination, create a reading order without the visitor having to think about it. Most SMB sites skip this system entirely. Fonts get chosen because they look good in a sample, not because they create a navigable experience across an entire page.
Web typography best practices start here, with hierarchy, before any discussion of font pairing or brand personality. This post walks through how to build a deliberate type system: from choosing a scale, to structuring headings correctly, to the body copy decisions that quietly undermine readability on otherwise solid sites. If you are building from scratch or auditing what you already have, this is the foundation.
What typographic hierarchy is (and why it is not just font choice)
Hierarchy in type is not a single setting. It is the result of several variables working together. Change one in isolation and the effect is weak. Stack them intentionally and the reading order becomes self-evident.
The five variables that create hierarchy
Size is the most obvious lever. A heading at 32px stands apart from body text at 16px. But size alone gets expensive fast: if every element is slightly larger than the next, you need extreme contrast to maintain clarity, and headings start to dominate the content.
Weight is often the more precise lever. A semibold (600) heading at the same size as regular (400) body copy reads as clearly distinct without requiring a large size jump. Weight is especially useful for differentiating subheadings from body text when size differences are moderate.
Color shifts emphasis without changing size or weight. A muted secondary text color on captions or metadata signals “this is supplementary” before the reader processes a single word. Dark text on a light background for body copy and a slightly lighter tone for labels creates a natural reading priority.
Spacing is the most underused variable. Tighter letter-spacing on large headings and generous line height on body text are signals that register subconsciously. Paragraph spacing tells the reader where one idea ends and the next begins. It is not decorative.
Case is the bluntest instrument. All-caps signals emphasis at a significant readability cost for more than a few words. Use it for short labels, navigation items, or category tags. Never use it for body copy or subheadings longer than three words.
Why no single variable is enough
Typography hierarchy works because variables reinforce each other. A page with only size differences looks like an outline. A page with only weight differences looks like a document. A larger, heavier heading with more space above it reads as a clear section break without any single signal needing to be extreme.
This is why “just make the heading bigger” rarely fixes a flat-feeling page. The issue is usually that only one variable is doing any work. Adding a second, such as adjusting the weight and tightening the letter-spacing on the heading, often has more impact than doubling the size.
The type scale: building one that holds together
A type scale is a set of font sizes derived from a single base size and a consistent multiplier ratio. Picking sizes by feel (14, 18, 22, 30, 42) produces numbers that look fine in isolation but have no coherent relationship. Two ratios cover most small business website needs:
Major Third (1.25) is the practical starting point. With a 16px base, it produces: 12.8px (small labels), 16px (body), 20px (subheadings / H4), 25px (H3), 31.25px (H2), 39px (H1). The jumps are visible without being dramatic, which keeps headings authoritative without overwhelming the content.
Perfect Fourth (1.333) gives headings more presence. The same 16px base produces: 16px (body), 21.3px (H4), 28.4px (H3), 37.9px (H2), 50.5px (H1). Use this when the design needs strong visual hierarchy at a glance: service pages, landing pages, or any context where the heading has to stop a skimming visitor.
If hierarchy feels flat at 1.25, move to 1.333. Rarely go higher: a Golden Ratio scale (1.618) produces headings so large they compete with the content rather than introducing it.
The minimum sizes that work across devices
The U.S. Web Design System, the federal government’s design standard, specifies 16px as the body text baseline. That figure is shared by every major browser default and the design systems used by Google and Apple. This does not mean 16px is a hard floor set by accessibility regulation. What WCAG 1.4.4 actually requires is that text remains readable when scaled to 200% of its starting size. In practice, 16px body text in relative units (rem or em) satisfies both requirements: it is a readable default and it respects user-set browser preferences.
Below 16px for body copy, reading fatigue arrives faster, especially on mobile. The fix is to use rem units rather than pixels. A user who has set their browser to display text at 18px sees your 1rem body text at 18px, not the 16px you specified.
Heading levels and their semantic function
Heading levels (H1 through H4) serve two purposes: they create visual hierarchy for sighted visitors, and they create navigational structure for search engines and assistive technology. Most websites get the visual part partially right and ignore the structural part entirely.
H1 through H4: the purpose of each level
H1 is the page title. Every page on a site should have exactly one H1: the primary description of what that page covers. It maps directly to the document’s topic and is the first signal a search crawler uses to understand the page. It should not be the brand name, the logo text, or a marketing tagline. It should describe the content.
H2 marks major sections within the page. A reader who scans only the H2s should come away with a map of the page’s structure. H2s answer the question: what is covered here?
H3 goes one level deeper, subdividing an H2 section into its components. On a services page, if “Web design process” is an H2, then “Discovery and strategy,” “Design and feedback,” and “Development and launch” would be H3s.
H4 and below appear rarely in marketing and blog contexts. Reserve them for content that genuinely has four levels of nesting: deep documentation, step-by-step technical guides, or complex comparison tables.
Why heading order matters for screen readers, SEO, and scanning visitors
WebAIM, the web accessibility organization operated by Utah State University, reports that 67% of screen reader users navigate pages by jumping between headings. This makes heading structure a navigation system, not a styling preference. Skipping levels (using H1 followed by H3 with no H2 between) creates gaps that are invisible to sighted users and disorienting to screen reader users.
Search engines read heading structure the same way. A page with one clear H1 and logically nested H2/H3 sections ranks more clearly for its target topic than a page where heading levels were chosen by visual appearance alone. A simple audit: read every heading in sequence, skipping body copy. If the sequence tells a coherent story, the structure is sound.
Body copy decisions that change readability
Heading structure creates the skeleton. Body copy decisions determine whether visitors can actually read the page once they stop scanning.
Line length: the 45–75 character range
Line length (the number of characters per line, including spaces) controls how easily the eye returns from the end of one line to the start of the next. The standard range for single-column body text is 45–75 characters per line, with 66 characters as the ideal. This target comes from Robert Bringhurst’s Elements of Typographic Style, the most cited reference in professional typography.
Lines under 45 characters force constant returns that interrupt reading flow. Lines over 75 characters make it easy to drift onto the wrong line on the return. In CSS, the 45–75 character range translates to roughly max-width: 32rem to max-width: 40rem on text containers at a 16px base.
Most Houston small business websites have no max-width constraint on their body copy at all. On large monitors, body text stretches to 120 or more characters per line, and the page becomes significantly harder to read regardless of how good the font is.
Line height and paragraph spacing
Line height (leading) is the vertical space between lines of text. For body copy, the comfortable range is 1.4 to 1.6 times the font size. WCAG 2.2 SC 1.4.12 requires that a site’s layout not break when a user sets their line height to at least 1.5 times the font size. Designing for 1.5x is both a readability standard and an accessibility floor. For headings, tighter leading (1.1 to 1.2) prevents the extra space from making multi-line headings feel disconnected.
Paragraph spacing is separate from line height: line height controls the space between lines within a paragraph, while paragraph spacing (the margin below each paragraph) signals where one idea ends and the next begins. Using only line height without any paragraph margin produces a wall of text where ideas run together visually. The combination of 1.5x line height and a paragraph margin of 1rem to 1.5rem is the standard that most reading-optimized sites use.
Why justified text creates problems on the web
Justified text (the alignment style that stretches words across the full line width) looks clean in print because print typesetters have fine-grained control over word spacing and hyphenation. On the web, the same alignment creates irregular gaps between words, particularly in narrow containers or at certain screen widths. These gaps disrupt the even texture of the text block and slow reading, especially for users with dyslexia.
Left-aligned text is the correct default for web body copy. Centered text works for short, high-impact blocks (pull quotes, callout text, page titles) but causes problems in body copy longer than three lines. Centered text forces the eye to find the start of each new line at a different position, which adds cognitive load over multiple paragraphs.
Typeface selection for small business websites
Choosing typefaces without a brand designer on staff is where most SMB sites go wrong. The choices are often: “this looked good in the template” or “this is what I used last time.” Neither produces a type system. Both produce a random starting point that gets harder to fix as more content is added.
How to choose without a brand designer
Start with the context, not the font. A personal injury law firm in the Galleria needs type that communicates authority and clarity: probably a clean serif or a geometric sans-serif at a conservative weight. A coffee shop in Montrose can lean into character, using a more expressive display face for the name and signage, paired with a legible sans-serif for menus and body content. A medical practice near the Medical Center needs neutrality and trust above all: a humanist sans-serif reads as clinical without being cold.
The question to ask is not “does this font look good?” but “does this font communicate the right thing to the specific people who will visit this site?”
Display vs. text fonts, and font pairing
Display fonts are designed for large sizes, 36px and above. They often have expressive character shapes or thin strokes that work at scale but become hard to read at body text sizes. Text fonts are optimized for sustained reading at 14–18px. Problems arise when a decorative display font gets used at body text sizes: the strokes become too fine, the character spacing too tight, and readability drops.
On the performance side, loading a full font family (all weights and styles) can add several hundred kilobytes to a page. Variable fonts, which pack multiple weights into a single file, reduce that cost. Google Fonts provides both variable and standard web fonts at no charge.
For pairing, the one rule that prevents most bad combinations: choose fonts that share a common visual attribute while contrasting in classification. A geometric sans-serif heading paired with a humanist serif body copy shares proportions while differing in character. When in doubt, choose one strong typeface and use weight variation within that family: heavy for headings, regular for body copy, italic for emphasis.
Common typography mistakes on Houston SMB sites
Across medical practices near the Medical Center, retail businesses near the Galleria, and service companies throughout the Heights and Energy Corridor, the same typography errors appear consistently:
All-caps body text. All-caps dramatically reduces reading speed. The eye reads text in part by recognizing word shapes: the envelope formed by ascending and descending letters. All-caps words share the same rectangular shape, forcing the reader to process each letter individually. A short all-caps label or navigation item is fine. A paragraph or a heading longer than four words is not.
Decorative fonts in body copy. Script, hand-lettered, and highly stylized display fonts have a place (often a good one) in brand marks, hero headings, and signage contexts. At 16px body text, they become illegible. The strokes become indistinct, the letterforms blur together, and visitors simply stop reading. If you love the personality of a display font, use it at 40px and above in headings only.
Too many typefaces. The practical ceiling is two typefaces for most small business websites. Three can work if all three have clearly different roles and are chosen to work together. Four or more produces a page that looks like several different websites stitched together. Each additional typeface adds visual noise, increases load time, and increases the number of pairing combinations that can go wrong.
Low-contrast gray text. The trend toward light-gray body text on white backgrounds produces pages that fail WCAG AA contrast requirements (4.5:1 for normal text) and look dated. This applies particularly to secondary text: taglines, captions, and supporting copy rendered at #999999 or lighter. The contrast looks modern in a design tool where the monitor is calibrated. It looks washed out on the laptops and phones most visitors use, and it is inaccessible by any standard.
The pattern behind all four mistakes is the same: visual choices made by feel rather than by system. A deliberate type hierarchy prevents each of these by establishing the rules once and applying them everywhere.
Building the type system your site deserves
Typography hierarchy is not a design luxury. It is the invisible scaffolding that determines whether visitors can use your site. Every font choice, every heading level, every line-length decision either helps or hinders the reading experience.
For small businesses building or rebuilding their sites, the path to a functional type system is shorter than it looks: choose a base size of 16px, pick a scale ratio that fits the visual weight you need (1.25 for most sites, 1.333 for stronger hierarchy), set heading levels by meaning rather than appearance, constrain line length to under 75 characters, and use no more than two typefaces.
Those decisions, made once and applied consistently, produce a site that feels professional without anyone being able to say exactly why.
These decisions feed directly into the broader work of small business web design and connect to the trust signals that turn visitors into leads. For how typography choices intersect with color contrast and WCAG compliance, the next step is accessible color and typography practices.
If your current site has a type system that was never intentionally designed, that is exactly the kind of problem worth addressing. Let’s talk about what that looks like for your business.
The work on Applied Matter shows what a cohesive type hierarchy looks like built into a brand from the ground up. A similar deliberateness shapes Karbon Kingdom, where a distinctive typographic language became central to the brand’s character. Typography and visual identity are inseparable: see how that work comes together in our brand design service.
Typography, done well, is invisible. Visitors just read. That is the point.
Frequently asked questions
What is typographic hierarchy in web design?
Typographic hierarchy is the system of visual differences (in size, weight, color, spacing, and case) that tells readers which text is most important, which provides context, and which they can skim. A strong hierarchy guides the eye through a page in the intended reading order without the visitor having to think about it.
What font size should I use for body text on a website?
16px (1rem) is the established minimum for desktop body text. This derives from browser defaults and is the baseline used by the U.S. Web Design System and other major design standards. Use relative units (rem or em) rather than fixed pixels so the type respects a user’s browser font-size preference.
How many fonts should a website use?
Two typefaces is the practical ceiling for most small business websites: one for headings and one for body copy. A third font can work as an accent for pull quotes or labels, but every addition multiplies the combinations that can go wrong and adds page weight. One well-chosen typeface used at multiple weights often outperforms two poorly paired ones.
What is a type scale and how do I build one?
A type scale is a set of font sizes derived from a single base size and a consistent multiplier ratio. A Major Third scale (ratio 1.25) with a 16px base produces sizes of 12.8px, 16px, 20px, 25px, 31.25px, and 39px: enough distinct levels for most sites. A Perfect Fourth scale (1.333) creates more contrast between levels and works well when a site needs clear visual authority at the heading level.
How does line length affect readability on a website?
Line length (or measure) controls how easy it is for the eye to track from the end of one line to the start of the next. The widely cited target is 45–75 characters per line for single-column body text, with 66 characters as the ideal. Lines shorter than 45 characters interrupt reading rhythm; lines longer than 75 make it easy to lose your place on the return. In CSS, this translates roughly to a max-width between 32rem and 40rem on body containers.
Why does heading hierarchy matter for SEO and accessibility?
Search engines use heading levels to understand a page’s content structure and topic relationships. Screen reader users rely on headings even more directly: according to WebAIM, 67% navigate pages by jumping between headings. This means heading order is not a visual preference. It is a navigational map. Skipping levels (going from H1 to H3) or using heading tags for styling rather than structure breaks that map for both search crawlers and users with visual impairments.

Technical Director & Co-Founder
Runs the data-and-code side of Desque: SEO, GEO, AEO, PPC, copywriting, and the engineering behind every site we ship. Builds in Go and TypeScript.
Related Posts

Documentation and Governance
Design system documentation turns a component library into a resource teams use. Here is what to cover, how to govern change, and how to keep it current.

Design Tokens and Variables
Design tokens replace hard-coded hex codes with named variables that keep your brand consistent across every tool, platform, and contractor.

Component Library Basics
Learn what a design system is, how a component library fits inside it, and when a growing business actually needs one.