Skip to content

Heading Tag Checker

Short answer

Verify heading hierarchy (H1-H6) for proper structure and SEO.

What it does not do: It checks order, presence and empty headings, not heading length, wording or ARIA landmarks, and it reads the raw HTML, so headings added by scripts are not seen.

Free · No signup · Runs in your browser
100% in your browser — your content never leaves your device.

What It Does

Lists your page's headings in order and checks three things: exactly one H1, no skipped levels (such as an H2 followed by an H4) and no empty headings. Returns a score, the heading outline and the checks that failed.

Why It Matters

Headings do two jobs. Screen reader users jump between them to find their way around a page, and search engines read them to understand how the content is organized. A missing H1, empty headings or jumps between levels make both harder.

How It Works

  1. Enter a page URL or paste its HTML

  2. We fetch the live HTML and extract every H1–H6 in document order

  3. Validate H1 count, heading order, and empty headings

  4. Return a score, the heading outline and the checks that failed

Sample input + output

INPUT
url: https://rankproof.eu/tools
OUTPUT
h1 count: 1                                 OK
h1 text: "44 Tools. One Platform."
total headings: 56
max depth: H3
skipped levels: none                        OK
empty headings: 0                           OK

H1 44 Tools. One Platform.
  H2 SEO Analysis
    H3 Title & Meta Description Checker
    H3 Heading Tag Checker
    …

How to read the result

H1 count (1 in the sample)
How many H1 headings the page has. Exactly one passes. Several H1s are valid HTML and Google says they are not a problem for search, but the tool expects one, because a single H1 naming the page is clearest for readers and screen reader users.
H1 text
The main heading as the tool found it, so you can check it says what the page is about. In the sample it is the heading of the tool catalogue.
Total headings (56) and maximum depth (H3)
How many H1–H6 elements the page has and the deepest level used. A long page with many H2s and H3s is normal; the figures only show the shape of the outline.
Skipped levels (none)
A heading more than one level deeper than the one before it, such as an H2 followed by an H4, gets a warning: screen reader users who move by heading level may think a section is missing. Going back up several levels, H4 to H2, is fine.
Empty headings (0)
Headings with no text, often left by an empty content field or a heading that only holds an icon. Screen readers announce them as blank headings.
Outline
The first 40 headings in document order, indented by level, with empty ones marked. Read it as a table of contents: if it does not make sense on its own, the page structure probably does not either.

Who Uses This

  • Content Editor

    Check every blog post before publishing for a clean H1 → H2 → H3 structure, which helps readers and screen reader users alike.

  • Accessibility Specialist

    Check heading order page by page as part of WCAG 1.3.1 testing.

  • SEO Specialist

    Check that each landing page has a single H1 that says what the page is about.

Common problems and how to fix them

  1. No H1, or the logo is the H1

    Make the page's own title an H1 — the product name, article title or tool name — and mark the site logo up as an image or link, not as a heading. A template that wraps the logo in an H1 gives every page the same main heading.

    <header>
      <a href="/"><img src="/logo.svg" alt="Example Ltd – home"></a>
    </header>
    <main>
      <h1>Running Shoes and Trail Shoes</h1>
  2. Headings chosen for their size

    Pick the level by structure and set the size with CSS. A small-looking sidebar title can still be an H2; a large intro sentence that does not start a section should be a paragraph.

    <h2 class="sidebar-title">Related guides</h2>
    <p class="lead">A larger introduction is a paragraph, not a heading.</p>
  3. Skipped levels

    Change the deeper heading to the next level down (H2 then H3, not H4), or add the missing section heading if content really is missing.

  4. Empty headings

    Find the template or content block that prints a heading when its field is empty, and print nothing in that case. A heading that holds only an icon needs visible text, or should not be a heading.

  5. Headings added by JavaScript

    This tool reads the HTML as delivered, so headings that a script renders later are missing from the outline. Render the main content on the server so crawlers that do not run scripts get the structure too.

Frequently Asked Questions

Should every page have exactly one H1?
HTML allows more than one, and Google has said multiple H1s are not a problem for search. One H1 that names the page topic is still the clearest choice for readers and screen reader users, and it is what this check expects.
Can I skip heading levels?
Avoid it. A jump from H2 to H4 suggests a missing section to screen reader users, and the W3C's accessibility tutorials recommend nesting headings in order.
Does H1 need the primary keyword?
An H1 that says plainly what the page is about helps readers and search engines, and it usually contains the main topic. Write it for people first.
What length is ideal for headings?
There is no fixed limit. Keep headings short and easy to scan; a very long heading usually means the section should be split. This tool does not measure heading length.
Does it check ARIA landmarks?
No — this tool checks heading order and presence only. ARIA landmark roles (main, nav, aside) are a separate check this tool doesn't perform.

Sources

The documentation this tool and the explanations on this page are based on.