Heading Structure Checker
SEO ToolsAnalyze H1-H6 heading structure on any page — detect missing headings, multiple H1s, broken hierarchy, and accessibility problems.. Free, private — all processing in your browser.
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
Enter URL
Paste the page URL you want to audit.
- 2
Analyze
The tool fetches and parses the page, extracting all H1-H6 headings.
- 3
Review outline
See the visual hierarchy — proper structure looks like a well-indented tree.
- 4
Check warnings
Flagged issues have specific explanations and recommendations.
- 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.
blog post with clear outline
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.
page with site name in H1 + article title in H1
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.
page with H1 followed by H3
warning: level skipped (H1 -> H3) fix: insert H2 for intermediate section, or demote H3 to H2
Duplicate H2
Template-generated repetition.
product page with two \"Description\" H2 headings
warning: duplicate H2 text appears 2 times fix: use unique descriptive headings (Product Description, Technical Description)
Empty heading
Template bug.
page with <h2></h2> tag
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
- MDN Heading elements — Technical reference for HTML heading elements.
- WCAG Heading Rules — W3C accessibility guidance on heading structure.
- HTML5 Outliner — Tool visualizing document outline based on HTML5 algorithm.
- WebAIM on headings — Accessibility best practices for heading use.
- Google on headings — Google guidance on content structure.
Related tools
All SEO ToolsCanonical URL Checker
Check canonical URL tags on any page and detect missing, wrong, or conflicting canonicals that cause SEO duplicate content issues.
Google SERP Preview
Preview how your page will appear in Google search results with accurate title, URL, and meta description rendering for desktop and mobile.
Meta Tag Generator
Generate SEO meta tags, Open Graph, Twitter Cards, and canonical tags
Open Graph Debugger
Debug Open Graph and Twitter Card metadata — inspect raw tags, validate requirements, and get links to force social platform cache refresh.
Open Graph Preview
Preview how pages appear when shared on Facebook, LinkedIn, Twitter, WhatsApp, and other platforms by rendering Open Graph metadata.
Robots.txt Generator
Generate robots.txt files with allow and disallow rules, sitemap references, and user-agent targeting to control search engine crawling.
Learn more
Explore more tools
200+ free tools that run in your browser.
Browse all tools →