Ttooleras
📑

Heading Structure Checker

SEO Tools

Analyze H1-H6 heading structure on any page — detect missing headings, multiple H1s, broken hierarchy, and accessibility problems.. Free, private — all processing in your browser.

Advertisement

The Heading Checker analyzes the heading structure (H1, H2, H3, H4, H5, H6) of any webpage and reports on proper hierarchy, potential issues, and accessibility impact. Headings are both an SEO signal (helping Google understand page structure and topic) and an accessibility feature (screen reader users navigate by heading). A well-structured page has exactly one H1, logical H2 subsections, H3 sub-subsections, and so on — forming a clear outline. Many pages get this wrong: multiple H1s, skipped levels (H1 to H3 without H2), excessive heading depth, or headings used for visual styling rather than structure.

Enter any URL and the tool fetches the page, extracts all H1-H6 headings, and presents the hierarchy as a visual outline. Issues flagged: multiple H1s (should be one per page in most cases), missing H1 entirely, levels skipped (H2 followed by H4), excessive length (headings over 70 characters may be poor SEO), duplicate heading text, and empty headings. Great for pre-publication content review, accessibility audits, and debugging SEO issues where heading structure is suspect.

Heading Structure Checker — key features

Visual outline

Shows heading hierarchy as an indented tree matching the document structure.

Multiple H1 detection

Flags pages with more than one H1, which is a common SEO and accessibility issue.

Missing H1 warning

Highlights pages lacking a main heading.

Skip level detection

Spots jumps in heading levels (H1 to H3) that break outline logic.

Duplicate heading detection

Identifies multiple instances of the same heading text that may confuse users.

Length warnings

Flags headings over 70 characters as potentially too long for SEO.

Empty heading detection

Finds <h2></h2> and similar hollow tags.

Client-side fetching

Retrieves and parses any public URL in your browser.

How to use the Heading Structure Checker

  1. 1

    Enter URL

    Paste the page URL you want to audit.

  2. 2

    Analyze

    The tool fetches and parses the page, extracting all H1-H6 headings.

  3. 3

    Review outline

    See the visual hierarchy — proper structure looks like a well-indented tree.

  4. 4

    Check warnings

    Flagged issues have specific explanations and recommendations.

  5. 5

    Fix and re-check

    After structural changes, re-run the check to verify improvements.

Common use cases for the Heading Structure Checker

Content editorial

  • Pre-publish review: Check heading structure of new articles before publishing to ensure logical outline.
  • Blog post optimization: Verify H2 and H3 structure supports the article’s main thesis (H1) logically.
  • Landing page structure: Ensure conversion-focused pages have clear heading hierarchy supporting the narrative.

Accessibility

  • Screen reader audit: Verify heading structure enables efficient navigation for users relying on assistive technology.
  • WCAG compliance: Check headings meet WCAG 2.1 requirements for descriptive labels and logical structure.
  • ADA compliance review: Part of broader accessibility audit for legal compliance.

SEO

  • On-page SEO audit: Headings are an SEO signal. Check structure alongside other on-page factors.
  • Template debugging: CMS templates sometimes generate poor heading structure (multiple H1s, nested H3s without H2). Identify and fix at the template level.
  • Competitor analysis: See how competitors structure content, which headings they use as H1, H2, etc.

Heading Structure Checker — examples

Well-structured

Correct hierarchy.

Input
blog post with clear outline
Output
H1: Main Topic
H2: Section A
  H3: Subsection
H2: Section B
  H3: Subsection
  H3: Subsection
status: clean hierarchy, no issues

Multiple H1

Common template mistake.

Input
page with site name in H1 + article title in H1
Output
warning: 2 H1 tags
fix: change site name to styled H2 or remove; keep only article title as H1

Skipped level

H1 then H3 without H2.

Input
page with H1 followed by H3
Output
warning: level skipped (H1 -> H3)
fix: insert H2 for intermediate section, or demote H3 to H2

Duplicate H2

Template-generated repetition.

Input
product page with two \"Description\" H2 headings
Output
warning: duplicate H2 text appears 2 times
fix: use unique descriptive headings (Product Description, Technical Description)

Empty heading

Template bug.

Input
page with <h2></h2> tag
Output
warning: empty heading detected
fix: populate or remove the empty tag

Technical details

HTML heading elements range from H1 (most important) to H6 (least important). Semantically, they represent document structure. Visually, browsers render them in decreasing font sizes by default, though CSS can override.

Canonical heading structure:
- H1: page topic (one per page)
- H2: major sections
- H3: subsections within H2
- H4: sub-subsections within H3
- H5, H6: rarely needed for most content

SEO impact: Google uses headings to understand page topic and structure. H1 is most influential; H2 and H3 contribute. Below H3, impact is minimal for SEO but still useful for structure.

Accessibility: screen readers announce headings by level. Users can navigate pages by heading (e.g., pressing H in NVDA). Missing or poorly structured headings make pages harder to navigate. WCAG 2.1 SC 2.4.6 recommends descriptive headings.

Rules and best practices:
- Exactly one H1 per page (historically strict; HTML5 allows multiple in section elements but one is still safest)
- Don\u2019t skip levels: H1 → H2 → H3, never H1 → H3
- Headings should be descriptive of the content below them
- Avoid overly long headings (under 70 characters ideal)
- Don\u2019t use headings for visual styling — use CSS
- Empty headings (<h2></h2>) are a bug; remove or populate

Common issues detected:
1. No H1: the page has no main heading, a major SEO and UX problem
2. Multiple H1s: historically strict violation; HTML5 allows in section context but most SEOs still recommend one per page
3. Skipped level: H2 followed by H4 without H3 — breaks outline logic
4. Duplicate headings: two sections with identical H2 text may confuse navigation
5. Empty heading: <h2></h2> with no text inside
6. Overly long heading: H1 above 70 characters may indicate lack of focus
7. Hidden heading: CSS display:none on headings — fine for accessibility tech, but may indicate overuse

Outline algorithm: HTML5 defines a document outline algorithm using heading levels and sectioning content. In practice, browsers and screen readers still primarily use explicit heading levels. Keep structure simple and explicit.

Tools and libraries: HTML5 Outliner extensions visualize heading structure. Accessibility testing tools (axe-core, WAVE) check heading issues as part of broader audits.

Common problems and solutions

Headings used for visual styling

Don’t use <h3> because you like its font size. Use proper hierarchy and style with CSS. Misuse breaks document outline and accessibility.

H1 = logo

Some templates wrap the site logo in H1. The article title should be H1, not the site name. Use <img alt=\"site name\"> for logo, not H1.

Multiple H1s per page

HTML5 technically allows multiple H1s in section elements, but SEO and accessibility conventions still expect one per page. Keep one unless you have a strong structural reason otherwise.

Missing H1

Every page should have exactly one H1 describing its main topic. Missing H1 hurts SEO and accessibility. Common on homepages without descriptive headings.

Too many heading levels

If you reach H5 and H6, reconsider structure. Typical content rarely needs deeper than H3 or H4. Very deep nesting suggests content should be split or reorganized.

Empty headings

<h2></h2> is invalid but some CMSs generate these. Remove or populate. Empty headings break outline and confuse screen readers.

Long H1s

H1 doubles as SEO signal and page title. Long ones (80+ chars) may be less focused and less effective. Ideal is 50-60 characters.

Heading Structure Checker — comparisons and alternatives

Compared to manually viewing page source and finding h1-h6 tags, this tool automates the check and flags common issues. Manual inspection works for single pages; bulk checking needs automation.

Compared to browser accessibility testing extensions (axe DevTools, WAVE), this tool focuses specifically on heading structure with clearer visualization. Full accessibility testing needs broader tools; for heading issues specifically, this tool is fast.

Compared to paid SEO platforms, this tool is free and focused. Platforms offer heading audits as part of broader packages but for single-page checks this tool is quicker.

Frequently asked questions about the Heading Structure Checker

How many H1s should a page have?

One. While HTML5 technically allows multiple H1s within section elements, both SEO best practice and accessibility conventions recommend exactly one H1 per page representing the main topic.

Can I skip heading levels?

No. Heading levels should progress logically: H1 → H2 → H3, not H1 → H3. Skipping levels breaks the document outline and confuses screen reader users navigating by heading.

Do headings affect SEO?

Yes, especially H1 which is a strong signal of page topic. H2 and H3 help Google understand structure. Below H3, direct SEO impact decreases but structural clarity still helps overall quality signals.

Why do headings matter for accessibility?

Screen reader users navigate by heading. Pressing H in NVDA or VoiceOver jumps between headings. A well-structured heading hierarchy lets users quickly scan and navigate content. Poor structure makes pages much harder to use with assistive technology.

Should I use H1-H6 in their default styles?

No, style with CSS. Default browser styling is often not appropriate for your design. Semantic levels (H1-H6) describe structure; visual appearance is a CSS concern.

What is a good heading length?

Under 70 characters for H1, under 50 for H2 and below. Clear, descriptive, and not stuffed with keywords. Should summarize the section that follows.

Can I have duplicate heading text on a page?

Better if each heading is unique for accessibility. "Description" appearing twice as H2 is confusing when navigating by heading. Make each heading descriptive of its specific section.

Is my URL stored?

The tool fetches the URL to analyze it. No URL or result data is logged on our side.

Additional resources

Advertisement

Related tools

All SEO Tools

Learn more

Explore more tools

200+ free tools that run in your browser.

Browse all tools →