How should I choose between h1, h2, and other heading levels?
Quick answer
Choose a heading level according to the section’s place in the outline: use h1 for the page’s main heading, h2 for sections beneath it, and h3 for subsections within an h2 section, continuing as needed. Keep the sequence logical; don’t pick a tag just because its default text looks the right size. Use CSS to change appearance. Headings also help people navigate content with assistive technology. [S1]
The question, the details, the next step.
A practical checklist
Identify the page’s main heading and use it as the top-level entry in your outline.
Give peer sections the same heading level.
Move one level deeper for a genuine subsection; avoid skipping levels.
Use CSS, not a different heading tag, to change text size or appearance.
Check that each heading introduces the content that actually follows.
Review the outline separately from the page’s visual styling.
A few more useful answers
Should every page have exactly one h1?
The cited guidance describes heading levels and their logical hierarchy; it does not establish a universal rule about how many h1 elements every page must contain. Use a clear outline that reflects the content, and consult your project’s requirements if it has additional conventions.
Can I make an h3 look larger than an h2?
Yes. Heading level communicates the content hierarchy, while CSS controls visual appearance. Choose the level that matches the section’s place in the outline, then style it to suit the design. [S1]
Do headings help people navigate a page with assistive technology?
Yes. Headings provide signposts for assistive-technology navigation, which is one reason to keep the heading hierarchy logical rather than choosing levels for their default font sizes. [S1]
Sources
References used for this guide.
- [S1] Headings and paragraphs: Using heading levels logically developer.mozilla.org · Checked
