User Rating 0.0
Total Usage 0 times
Category SEO Tools
Paste full page HTML or just the heading tags
Fetches HTML via CORS proxy. JS-rendered content may not appear.
0
Heading Score
Heading Structure
Is this tool helpful?

Your feedback helps us improve.

About

Search engines parse heading tags (h1 through h6) to build a semantic outline of your page. A broken hierarchy - where h1 jumps directly to h3, or multiple h1 tags compete for primacy - signals poor document structure to crawlers. Google's John Mueller has confirmed that heading order matters for accessibility and helps machines understand content relationships. Screen readers rely on heading levels to generate navigable outlines; a skipped level forces users to guess whether content is missing or misclassified.

This tool parses raw HTML or fetches a live URL, extracts every heading element, and validates the sequence against the W3C outline algorithm. It flags 6 distinct issue types: missing h1, multiple h1 tags, skipped levels, empty headings, excessively deep nesting beyond h4, and duplicate text across same-level headings. Results render as a visual tree so you can spot structural breaks at a glance. The checker operates entirely client-side. No HTML is transmitted to any server. Note: this tool analyzes the raw DOM output. If your page relies on JavaScript-rendered headings (SPA frameworks), paste the rendered HTML source rather than the template markup.

heading checker h1 checker heading hierarchy seo heading analysis html heading validator h1-h6 checker heading structure

Formulas

The heading hierarchy is validated by tracking the current depth level d as headings are encountered sequentially. For each heading hi with level li (where l {1, 2, 3, 4, 5, 6}), a skip error is flagged when:

li li1 > 1

This means the document jumps from level li1 to li without an intermediate heading. Decreasing levels (e.g. h3 h2) are always valid as they represent closing a subsection.

The SEO score S is computed as:

S = 100 EwN × 100

where Ew = weighted error count (critical = 3, high = 2, medium = 1), and N = total headings + 1. The score is clamped to [0, 100].

Reference Data

Issue TypeDescriptionSEO ImpactWCAG ViolationFix Priority
Missing h1No h1 tag found on pageHigh - crawlers lose primary topic signalWCAG 1.3.1 (A)Critical
Multiple h1More than 1 h1 tag presentMedium - dilutes topic focusBest PracticeHigh
Skipped LevelHeading level jumps (e.g. h2h4)Medium - breaks content outlineWCAG 1.3.1 (A)High
Empty HeadingHeading tag contains no text contentLow - wasted crawl signalWCAG 1.3.1 (A)Medium
Deep NestingUsage of h5 or h6 tagsLow - rarely indexed deeplyNoneLow
Duplicate TextSame text in multiple headings at same levelLow - redundant signalsNoneLow
Very Long HeadingHeading exceeds 70 charactersLow - may be truncated in SERPsNoneLow
First Heading Not h1Page starts with h2 or lowerMedium - unclear primary topicBest PracticeHigh
Non-Sequential DecreaseHeading goes from h3 back to h1Low - valid but unusualNoneInfo
Heading Inside aHeading wrapped in anchor tagLow - link weight transferNoneInfo
Recommended h1 Length20 - 70 characters optimalMedium - affects CTR in SERPsNoneMedium
Max Recommended DepthMost pages need only h1 - h4Low - h5/h6 rarely usefulNoneInfo
Ideal Heading Count5 - 15 headings per 1000 wordsMedium - content scannabilityNoneMedium
Keyword in h1Primary keyword should appear in h1High - strongest on-page signalNoneHigh
Heading RatioHeadings should be < 20% of body textLow - thin content flagNoneInfo

Frequently Asked Questions

The HTML5 specification technically allows multiple H1 tags when using sectioning elements (<article>, <section>). However, Google recommends using a single H1 per page for clarity. Multiple H1 tags dilute your primary topic signal and confuse screen reader navigation. This tool flags any page with more than one H1 as a high-priority issue.
Skipping levels (e.g., jumping from H2 to H4) does not directly trigger a ranking penalty. However, it violates WCAG 1.3.1 accessibility guidelines and signals poor document structure to crawlers. Screen readers generate a heading outline for navigation; skipped levels create gaps that confuse visually impaired users. Search engines use heading hierarchy to understand content relationships, so a clean structure indirectly supports better content interpretation.
Most well-structured content requires only H1 through H4. Usage of H5 and H6 typically indicates either over-segmentation of content or misuse of heading tags for styling purposes. If you genuinely have 5+ levels of nested topics, the warning is informational. But in practice, content nested that deeply is often better restructured into separate pages or sections.
Yes. Enter a URL and the tool fetches the page HTML via a CORS proxy. Note that pages relying on client-side JavaScript rendering (React, Vue, Angular SPAs) may return incomplete HTML since the proxy fetches raw server response without executing JS. For SPAs, open the page in your browser, right-click "View Page Source" or use DevTools to copy the rendered DOM, then paste it into the HTML input tab.
Google displays roughly 50-60 characters of a title tag in SERPs, but H1 tags are not truncated in search results directly. For readability and SEO, keep H1 between 20 and 70 characters. An H1 shorter than 20 characters may lack descriptive keywords. An H1 longer than 70 characters becomes difficult to scan and may indicate keyword stuffing. This tool flags headings outside this range.
No. All HTML parsing and analysis happens entirely in your browser using the native DOMParser API. When you paste HTML, it never leaves your machine. The only network request occurs when you use the URL fetch feature, which routes through a public CORS proxy (api.allorigins.win) to retrieve the page HTML. The proxy sees the URL but not your analysis results.