Heading Structure Checker

Free, no signup. See the heading outline readers and crawlers receive, spot skipped levels and empty headings, then preview a practical table of contents.

A calibrated check: multiple H1s and title/H1 differences are not automatic SEO errors. This separates those normal patterns from genuine outline problems.

Checks run from our server; we fetch the URL you enter and don't keep the results. Pasted HTML stays in your browser; URL mode sends only the URL to retrieve its HTML. Anonymous run-level outcome counters may be used for aggregate research; URLs, domains, IPs, and identifiers are never included, and no statistic is released below 100 runs.

Feedback
Report a bug

Found something broken in Heading Structure Checker? Let us know what happened — this goes straight to a private triage queue, not a public list.

What will be sent
 No tool inputs, uploads, pasted source, complete results, query parameters, or URL fragments are attached automatically. You can edit or remove the selected passage above. Browser and anti-abuse metadata is processed for spam prevention. 

Sample report

Illustrative example — generated from the HTML shown here

<h1>Technical SEO audit</h1>
<h3>What should I fix first?</h3>
<p>Fix pages that cannot be crawled or indexed before polishing metadata.</p>
<h2></h2>
3 headings found
  • Warning: H1 jumps to H3; the H2 level is skipped.
  • Error: one empty heading creates an unlabeled section.
  • Answer-ready candidate: “What should I fix first?” has a direct following paragraph.
  • TOC preview: only labeled headings appear; headings without an ID have no durable fragment link.

How to use it

  1. Choose Paste HTML for a local or rendered fragment, or Fetch a URL for a public page's server response.
  2. Run the check and read the outline before the issue list. Confirm that the hierarchy matches the ideas on the page.
  3. Use the table-of-contents preview to spot vague labels and headings without durable fragment IDs.
  4. Review question headings with their following paragraphs; a question is only answer-ready when the next paragraph answers it directly.

What the results mean

  • Pass means the observed raw-HTML pattern is structurally sound.
  • Information supplies context, such as multiple H1s, without calling it an error.
  • Warning identifies a likely usability issue worth reviewing, including skipped levels.
  • Error identifies a clear defect such as an empty heading.
  • Needs review means the response did not contain enough evidence for that check.

How it works

The checker parses the supplied HTML in your browser, extracts semantic h1 through h6 elements in document order, and builds a nested outline from their levels. The same detector registry evaluates missing, empty, repeated, and skipped-level patterns. It does not infer headings from bold or large text.

Features

  • Paste and URL-fetch modes.
  • Nested heading outline and practical table-of-contents preview.
  • Calibrated findings that avoid labeling every multiple-H1 pattern an error.
  • Question-heading candidates paired with the next paragraph.

Limitations

URL mode reads raw HTML, not the rendered DOM, so JavaScript-added headings are absent. The preview assesses structure, not whether the copy is accurate, useful, or aligned to search intent. It also cannot determine visual styling or screen-reader behavior beyond the supplied markup. Use Render Gap when headings may be injected by JavaScript →

Frequently asked questions

Is more than one H1 always bad for SEO?

No. Multiple H1 elementsWhen a single web page contains more than one <h1> element. The HTML standard permits non-nested sibling h1s, and Google treats multiple h1s as a low-priority ranking concern — but nested h1 patterns are non-conforming, and one clear h1 is still the accessibility default. are valid in modern HTML and are not automatically an SEO problem. A clear primary page heading is still useful for readers, so the checker reports multiple H1s as context rather than treating them as an error.

Do heading levels have to increase one at a time?

A skipped level such as H2 to H4 usually signals a confusing document outline. It is not a direct ranking penalty, but correcting the hierarchy improves navigation and accessibilityWeb accessibility means designing sites so people with disabilities can use them, per the W3C's WCAG guidelines. It overlaps with SEO in specific, checkable ways — alt text, heading structure, descriptive link text, captions, and page speed all serve both audiences — but Google has said accessibility itself is not a ranking factor, and most WCAG success criteria (keyboard focus order, ARIA live regions, form labels) have no SEO effect at all..

Why are JavaScript-injected headings missing?

URL mode analyzes the raw HTML response and does not render JavaScript. Paste the rendered HTML from your browser if a client-side application adds headings after load.

Does changing a heading tag improve rankings?

Not by itself. Heading structureHeader tags (heading tags) are the HTML elements <h1> through <h6> that mark the structural hierarchy of a page's content. They help users, search engines, and screen readers understand what each section is about. helps communicate organization and meaning, but useful content and search intent matter more than changing an H3 to an H2 in isolation.

Next stepContent Gap Analyzer — look up the exact spec and expected values.

Feature requests for Heading Structure Checker

Upvote what you want most. New ideas can be submitted from the floating Feedback menu; requests appear here once approved, and the most-wanted rise to the top.

Loading…

➕ Request a feature

New requests are reviewed before they appear here.

Where this tool helps

Common use cases

Visualize a page outline

Turn fetched or pasted HTML into a readable H1–H6 hierarchy before editing the page.

Catch skipped and empty headings

Find level jumps, blank headings, and other structural problems that make the outline harder to follow.

Compare the H1 with the title

Check whether the visible primary heading and document title describe a coherent page purpose.

Draft a table of contents

Preview a heading-based contents list and use it to spot unclear or repetitive section labels.

Watch the full workflow

Heading Structure Checker walkthrough

Read the transcript

Heading Structure Checker

Heading tags help readers and assistive technology understand a document’s organization, but common rules are often overstated. I’ll show you how to paste or fetch H-T-M-L, read the nested outline, distinguish context from genuine issues, preview table-of-contents links, evaluate question-and-answer candidates, understand raw-H-T-M-L limits, and plan useful corrections.

Step 1

Use this checker when planning a table of contents, auditing accessibility, reviewing a content template, or debugging a confusing page outline. It reads semantic H-one through H-six elements in document order; bold or visually large text does not count.

Step 2

Paste H-T-M-L for a local fragment, staging output, or rendered D-O-M copied from your browser. Fetch a U-R-L to inspect a public page’s raw server response. Pasted markup stays in the browser; U-R-L mode sends only the U-R-L for retrieval.

Step 3

Multiple H-ones and title-versus-H-one differences are not automatically SEO problems. The checker reports those patterns as context. Empty headings and confusing level skips are stronger structural defects because they create unlabeled or misleading navigation.

Step 4

This example contains a clear primary heading, nested sections, a question with a direct answer, a skipped level, one heading without an I-D, and an empty heading. Select Check headings to parse the markup locally and build the report.

Step 5

Start with the observed heading count and title context. In fetched mode, partial acquisition is labeled, and absence checks become not evaluated when the complete page was not available. This prevents a captured prefix from becoming a false clean bill of health.

Step 6

Read the outline as a reader would: each H-two should introduce a major section, and deeper levels should belong beneath it. A level number is not decoration. The structure should reflect the relationship among ideas, not merely the desired font size.

Step 7

The table-of-contents preview includes labeled headings and shows whether each has a durable fragment I-D. Missing I-Ds do not make a heading invalid, but stable fragments improve sharing, deep linking, keyboard navigation, and generated table-of-contents behavior.

Step 8

Checks use calibrated states. Pass means the observed pattern is structurally sound. Information adds context. Warnings flag likely usability issues such as skipped levels. Errors identify clear defects such as empty headings. Needs review means the response lacked enough evidence.

Step 9

Question headings become answer-ready candidates only when the following paragraph answers directly and can stand on its own. This is a drafting prompt, not a guarantee of search visibility or inclusion in an answer feature. Judge accuracy and usefulness separately.

Step 10

For repeated issues, trace the markup to the C-M-S component or page template. For one-off content, edit the document outline. Do not patch visual styling by choosing the wrong semantic level; use C-S-S for appearance and heading tags for structure.

Step 11

U-R-L mode does not render JavaScript, so client-injected headings may be absent. The tool cannot judge whether the writing is accurate, useful, or aligned with intent, and it does not simulate visual styling or complete screen-reader behavior. Paste rendered H-T-M-L when needed.

Step 12

Remove empty headings, rename vague labels, close genuine level gaps, and add stable fragment I-Ds where navigation needs them. Rerun the checker on the final rendered markup, test table-of-contents links and keyboard navigation, then review the outline against the page’s actual ideas.

Fix the document structure—not just the tag numbers.

Update the source template or content so every heading labels a real section, the hierarchy follows the ideas, and durable fragment I-Ds support navigation. Recheck the rendered H-T-M-L when JavaScript is involved, test the table of contents and keyboard flow, and review the wording with actual readers.