Free heading structure checker (H1 to H6)

Paste the HTML of a page to see its headings laid out as an indented outline, the way a screen reader user or a crawler meets them. The checker flags a missing H1, more than one H1, levels that are skipped (an H2 followed directly by an H4), empty headings, very long headings and headings that repeat. The HTML is parsed inside your browser and is never added to this page, so scripts in it do not run and nothing is fetched.

What each check means

CheckFlagged whenWhy it matters
No H1The page has no <h1>The H1 is the on-page name of the topic. Without it, readers and search engines lean on the title tag alone.
Multiple H1sThere is more than one <h1>Valid HTML, and not something Google penalizes, but the page no longer says which heading is the main one.
H1 not firstAnother heading comes before the H1Usually a sidebar or banner heading placed above the content.
Skipped levelA heading is more than one level below the one before itThe subsection has no parent, so the outline has a gap. Moving back up (H4 to H2) is normal and is not flagged.
Empty headingThe tag has no text and no image with alt textAssistive technology announces a heading and then has nothing to read.
Long headingOver 70 charactersA heading works as a label. This is a readability guide, not a limit set by any search engine.
DuplicateThe same text appears on two or more headingsReaders jumping between headings cannot tell the sections apart.

How to fix the outline

Start from the H1 and work down.

  1. Keep one H1 that names the page. If the theme wraps the site name or logo in an H1 on every page, change that in the theme rather than removing your own.
  2. Give each main section an H2, and use H3 only for parts of the H2 above it, H4 for parts of an H3.
  3. Choose the level by meaning, not by size. If an H4 was picked because it looks smaller, make it an H3 and change the size with CSS.
  4. Delete empty headings. They are often left behind by page builders as spacers.
  5. Make repeated headings specific. Three sections called "Overview" become "Pricing overview", "Setup overview" and so on.

In WordPress, skipped levels often come from parts of the page you did not write: widget titles, comment forms and related-post blocks. Our pages on skipped heading levels, missing H1 tags and multiple H1 tags cover where each one comes from and how to change it.

Screen reader users often move through a page by its headings, jumping from one to the next or pulling up a list of all of them. A logical outline is how they skim. That is the strongest reason to get the structure right.

For search, headings help a crawler see how a page is divided and what each part is about. Heading order is not a ranking factor in itself, and Google has said its systems cope with pages that have several H1s or headings out of sequence. A clear outline still helps indirectly: sections with descriptive headings are easier to quote in featured snippets and AI answers, and easier to link to.

A clean outline does not make weak content rank. Treat this as housekeeping that removes confusion.

What gets counted

Every h1 to h6 element in the pasted HTML is listed in document order, including headings in the header, sidebar and footer and any that CSS hides. That is deliberate: a hidden heading is still in the outline a crawler reads. To check only the article, paste only its HTML.

Heading text is taken the way assistive technology reads it, so a heading that contains only a logo image is named by the image's alt text. Elements that merely look like headings, such as bold paragraphs, are not included, because they are not headings to a browser or a search engine.

Paste the rendered HTML when headings are added by JavaScript: in your browser's developer tools, copy the outer HTML of the html element instead of using view source. To check a live URL without copying anything, run the free SEO audit, which includes heading checks.

Common questions

Can a page have more than one H1?

Yes. The HTML standard allows it, and Google has said multiple H1s do not cause ranking problems. One H1 is still the clearer choice: it tells readers and assistive technology which heading names the whole page.

Is skipping a heading level bad for SEO?

It is not a ranking penalty. It is an accessibility and clarity problem: a jump from H2 to H4 leaves a gap in the outline that screen reader users navigate by. Fixing it costs little, so it is worth doing.

Should the H1 be the same as the title tag?

They can match, and they should describe the same topic, but they do different jobs. The title tag appears in search results and browser tabs, so it is written to fit a limited width. The H1 appears on the page and can be longer or more conversational.

How long should a heading be?

There is no official limit. We flag headings over 70 characters because a heading is meant to be scanned. If a heading needs a full sentence, the detail usually belongs in the first line of the paragraph under it.

Does the checker run scripts or load anything from the HTML I paste?

No. The markup is parsed into a separate, inert document that exists only in memory. Scripts in it do not execute, images and stylesheets are not requested, and the HTML is never sent to a server.

Why does the outline show headings I cannot see on the page?

The checker reads the markup, not the rendered page. Headings hidden with CSS, placed in a collapsed menu or meant only for screen readers are still in the HTML, so they appear in the outline.