A heading analyzer that shows the real outline of a page
This heading analyzer reads a web page and lays out its H1–H6 headings as an indented tree, in the order they appear in the HTML. It flags the structural problems that matter: a missing or repeated H1, skipped levels (an H2 followed by an H4), empty headings, headings hidden with attributes or inline styles, headings that run on for more than 70 characters, and a title tag and H1 that talk about different things.
Headings are how people skim a page and how screen-reader users jump through it; search engines use them to understand what each section covers. Enter an address, or paste the HTML of a page that isn’t public yet, add an optional keyword, and copy the outline as Markdown for a content brief or an audit.
How to check the heading structure of a page
- Enter the Page address, or choose Paste HTML and paste the page source.
- Optionally type a Keyword to look for; matching headings get a “keyword” badge. You can change it later without fetching the page again.
- Press Analyse headings. The score and the prioritised list appear first, then a count of H1–H6.
- Read the Heading outline: each heading is indented by its level, with badges for skipped levels, empty, hidden, long and navigation or footer headings.
- Press Copy Markdown or Download .md to take the outline with you.
Heading Analyzer features
Outline as a tree
Every heading in document order, indented by level, so a jump from H2 to H4 is visible at a glance.
Hidden and empty headings
Finds headings with no text (and uses image alt text when the heading is a logo), plus those hidden by the hidden attribute, aria-hidden or an inline style.
Site furniture marked
Headings inside navigation, the site header, sidebars and the footer are labelled, so the article outline is easy to separate from the template.
Title and H1 compared
Measures the word overlap between the title tag and the first H1, ignoring small words.
Markdown export
The outline becomes # to ###### lines — ready for a brief, a ticket or the Markdown Formatter.
Worked example
A recipe page has a menu heading in its navigation, then the article, then a contact heading in the footer:
| Heading | What the analyzer says |
|---|---|
| H4 Menu (navigation) | Note: the outline starts with an H4 in the navigation |
| H1 Sourdough bread for beginners | Title “Sourdough bread guide for beginners” shares sourdough, bread, beginners — 3 of 4 distinct words, 75% overlap |
| H2 What you need → H4 Flour | Warning: skipped level (H2 → H4) |
| H2 with no text | Problem: empty heading |
| H3 containing only a picture | Uses the picture’s alt text, “Starter jar” |
| A second H1 later on | Warning: 2 H1 headings — make the second an H2 |
Do heading levels affect SEO?
Less than many checklists claim. Google has said that several H1s on a page are fine and that the heading order is not a strict ranking requirement; what helps is headings that clearly describe the content below them. Treat the warnings here as quality and accessibility advice, not as penalties.
Accessibility is where structure counts most. Screen-reader users often list a page’s headings and jump between them, so a skipped level suggests a missing section, and an empty heading is announced as nothing at all. The WCAG “info and relationships” criterion (1.3.1) expects headings to be real heading elements, not just big bold text.
What this check can’t see
- Headings added by JavaScript after the page loads — scripts are not run. Most content systems render headings in the HTML, so this is rarely an issue.
- Headings hidden by a stylesheet (for example a collapsed mobile menu). Only attributes and inline styles are visible without rendering the page.
- ARIA headings (
role="heading") are not listed; real<h1>–<h6>elements are recommended anyway. - For the rest of the page check the tags with the Meta Tag Analyzer and the copy with the Word Count SEO Checker.
Heading Analyzer FAQ
How do I check the H1 tag of a page?
Enter the address in this heading analyzer. It shows every H1 with its text, warns when there is none or more than one, and compares the first H1 with the title tag.
Is it bad to have more than one H1?
Not for Google, which handles several H1s. It is still clearer for readers and screen-reader users to have one main heading, so the tool shows a low-priority warning rather than an error.
What is a skipped heading level?
Going down more than one level at once, such as an H2 followed directly by an H4. Going back up (H4 to H2) is normal when a new section starts.
Why is my heading reported as hidden?
It, or an element around it, has the hidden attribute, aria-hidden="true", or an inline display:none / visibility:hidden style. Headings with a screen-reader-only class are listed as notes, because that pattern is legitimate.
Can I export the heading outline?
Yes — Copy Markdown puts it on your clipboard, and Download .md saves a file with one line per heading, using # to ###### for the levels.
Why does the outline include menu and footer headings?
They are part of the page’s HTML and screen readers announce them too. They are labelled “navigation”, “header”, “sidebar” or “footer” so you can tell them apart from the article.