Heading Structure Checker

Paste a page's HTML and get its heading outline (H1 to H6) plus a check for the common problems — a missing or duplicated H1, or a skipped level. Runs in your browser.

SEO Tools Free No upload Instant

Loading Heading Structure Checker…

Your browser is preparing the tool. It runs 100% locally.

Quick Answer

Paste a page's HTML and the tool pulls out every heading from H1 to H6, shows them as an indented outline, and flags three common issues: no H1, more than one H1, or a skipped level (such as an H2 jumping straight to an H4). It is a structural check for accessibility and clarity — it reads the heading tags, not the content quality. It runs entirely in your browser.

What the Heading Structure Checker Does

Paste the HTML of a page and you get its heading skeleton: each H1 to H6 in order, indented by level, so you can see the document outline at a glance. Beneath it, the tool lists any structural warnings, or tells you the structure looks good.

It checks the shape of your headings, not their wording. A clean outline — one H1, then H2s for sections and H3s beneath them, with no jumps — helps screen-reader users navigate and helps search engines understand how the page is organised.

How It Works

The tool scans the pasted HTML for heading tags, capturing each heading's level and its text (stripping any tags nested inside). It prints them as an indented list, then runs three checks: is there exactly one H1, and does any heading jump more than one level deeper than the one before it.

Going back up the hierarchy is allowed — an H4 followed by an H2 is fine, because that just closes a subsection. The warning is only for going down too fast, like an H2 straight to an H4, which leaves a gap in the outline.

What it checks & how

  1. Extract the headings. Find every H1 to H6 tag in the pasted HTML and read its level and text.
  2. Build the outline. List the headings in order, indented by level, with nested tags stripped from the text.
  3. Check the H1. Warn if there is no H1, or if there is more than one.
  4. Check for skipped levels. Warn if any heading goes more than one level deeper than the previous one.

What it flags

No H1 found — the page has no top-level heading Multiple H1s — more than one H1 on the page Skipped level — a heading jumps down more than one rank (e.g. H2 then H4) Otherwise — Structure looks good

Going back up a level (H4 then H2) is not flagged — that simply closes a subsection and is correct.

Technical Details

Inputpasted page HTML
DetectsH1 through H6 tags
Outputindented outline + warnings
Checksmissing H1, multiple H1s, skipped levels
Parsingregex (not a full DOM parser)
Heading textnested tags stripped
Where it runsIn your browser — nothing uploaded

Standards & references

  • One H1, logical order — the W3C guidance is one H1 for the page topic, then H2 for sections and H3 for subsections, without skipping ranks; style headings with CSS rather than picking a level for its size.
  • WCAG headings — WCAG 1.3.1 (Level A) requires headings to be marked up semantically; 2.4.10 (AAA) calls for section headings to organise content. Screen-reader users jump between headings to navigate.
  • Multiple H1s — the nuance — Google's John Mueller says multiple H1s are fine for search, but browsers never implemented the HTML5 outline algorithm, so screen readers treat every H1 as top-level — one H1 stays the clearer, more accessible choice.

Accuracy & Limitations

It reads the HTML with a regular expression, not a full browser parser. Clean, well-formed heading tags are detected reliably, but unusual markup — a heading whose opening tag contains a stray angle-bracket character inside an attribute, or broken nesting — can be missed or misread. Paste the real rendered HTML for best results.

It checks structure, not substance. It will not tell you whether a heading is descriptive, keyword-relevant or matches the section below it — only whether the H1 to H6 skeleton is sound.

The skipped-level warning fires only for downward jumps of more than one rank, like H2 to H4. Going back up (H4 to H2) is correct and is not flagged, since that closes a subsection.

Multiple H1s are flagged as a warning, but this is an accessibility and clarity nudge, not a Google error — Google tolerates several H1s. The warning reflects that screen readers, lacking the never-implemented HTML5 outline, treat every H1 as equally top-level.

It analyses whatever HTML you paste, not the live page. If your headings are added by JavaScript after load, copy the rendered HTML from the browser's inspector rather than the raw source, or they will be missing.

Real-World Use Cases

Accessibility checks

Confirm a logical heading order for screen-reader navigation.

SEO audits

Verify one clear H1 and a tidy section hierarchy.

Template debugging

Catch a layout that skips from H2 to H4 across a page.

Content reviews

See a long article's outline to check its structure.

When to use it — and when not to

Good for

  • Checking the H1 to H6 outline of a page
  • Catching a missing or duplicate H1
  • Spotting skipped heading levels
  • Quick accessibility and SEO structure checks

Not the best choice for

  • Judging heading wording or keywords
  • JavaScript-rendered headings (paste the rendered HTML)
  • A full accessibility audit
  • Parsing badly malformed HTML

Need the headings from a live URL automatically? A crawler or browser extension reads the rendered page for you. Want a full accessibility audit? A tool like axe or WAVE checks contrast, labels and ARIA too.

Frequently Asked Questions

How many H1s should a page have?
One is the clearest choice — a single H1 naming the page's topic. Google tolerates multiple H1s, but because browsers never implemented the HTML5 outline, screen readers treat every H1 as top-level, so one keeps the structure unambiguous.
Why is skipping a heading level a problem?
Jumping from H2 to H4 leaves a gap in the outline. Screen-reader users navigate by heading level, so a missing rank makes the page harder to follow. Use levels in order and style them with CSS if you want a different size.
Is it OK to go from H4 back to H2?
Yes. Going back up the hierarchy closes a subsection and starts a new section — that is normal, and the tool does not flag it. Only downward jumps of more than one level are warned.
Does it check the live page?
No. It checks whatever HTML you paste. If your headings are inserted by JavaScript, copy the rendered HTML from your browser's inspector so they are included.
Does it judge my heading text?
No. It checks structure only — the H1 to H6 skeleton. It does not assess whether headings are descriptive, keyword-rich or a good match for their sections.
Do multiple H1s hurt SEO?
Not for Google — John Mueller has said multiple H1s are normal and fine. The reason to prefer one is accessibility and clarity, not rankings.
What counts as a good heading structure?
One H1 for the topic, H2s for major sections, H3s nested under them, and so on, without skipping levels. The tool reports Structure looks good when it finds no issues.
Why does it strip tags inside headings?
A heading like an H2 with a bold word inside still has one piece of text; the tool removes the inner tags so the outline shows the clean wording.
Will it work on broken HTML?
Mostly, but it uses a regular expression rather than a full parser, so severely malformed tags or a stray angle-bracket character inside a heading's attributes can be missed. Paste valid, rendered HTML for reliable results.
Does it check H7 or deeper?
No — HTML only defines H1 through H6. There is no H7; for deeper nesting, restructure the content into sections instead.
Is my HTML uploaded?
No. The check runs entirely in your browser; nothing is sent anywhere.
Why does accessibility care about headings?
Screen-reader users often pull up a list of headings to jump straight to a section. A logical H1 to H6 order is their table of contents, so a missing H1 or a skipped level genuinely slows them down.

References

Extracts the H1 to H6 outline with a regular expression and flags a missing H1, multiple H1s or a skipped level; it is explicit that this is a structural check (not content quality), that going back up a level is allowed, and that multiple H1s are an accessibility nudge rather than a Google error.

PopularHot

Meta Tag Generator

Meta Tag Generator that outputs clean, copy-ready code for better rankings.

SEOOpen Tool
Popular

Keyword Density Checker

Keyword Density Checker online — accurate, standards-compliant and free for SEO work.

SEOOpen Tool
Popular

UTM Link Builder

UTM Link Builder online — accurate, standards-compliant and free for SEO work.

SEOOpen Tool
Trending

Open Graph Generator

Open Graph Generator that outputs clean, copy-ready code for better rankings.

SEOOpen Tool
Trending

SERP Snippet Preview

SERP Snippet Preview online — accurate, standards-compliant and free for SEO work.

SEOOpen Tool
Editor's Pick

Schema Markup Generator

Schema Markup Generator online — accurate, standards-compliant and free for SEO work.

SEOOpen Tool

Ready to try the Heading Structure Checker?

It is free, private and runs entirely in your browser — no sign-up, no uploads, no limits.