freeHeading Structure Checker
Heading structure checker: your H1–H6 outline, drawn as a tree
Enter a URL. You get every heading on the page in order, nested by level, with skipped levels, extra H1s and empty or duplicate headings flagged.
Try
What it checks
Seven things that break an outline.
Headings are the table of contents of a page. People skim them, screen readers jump between them, and search engines use them to understand what each part of the page is about. We read the raw HTML, the same way a crawler does, and check:
1One H1
Missing H1s and second H1s, usually a logo or site name wrapped in the wrong tag.
2Skipped levels
An H2 followed by an H4. The tree draws the jump as a dashed line so you can see where.
3Empty headings
Heading tags with no text, often left behind by page builders or used as spacers.
4Long headings
Over 70 characters. Usually a sentence that wants to be the first line of the section.
5Duplicates
The same heading text twice, which makes sections hard to tell apart.
6Image-only headings
A heading that's just a picture. We show its alt text in place of the text.
7Real sections
At least one H2. Without them a long page is one undivided block.
How to fix it
Choose levels for meaning, not size.
Most heading problems come from one habit: picking a tag because it looks right. A designer wants smaller text, so an H4 goes where an H3 belongs. Keep the levels honest and change the look in CSS.
A simple pattern that works for most pages: one H1 that says what the page is about, H2s for the main sections, and H3s only when an H2 section has parts of its own. Card grids, sidebars and footers rarely need heading tags at all.
Write headings that make sense out of context. “Overview” and “More” tell a skimmer nothing. “What payroll costs for a 40-person team” tells them, and a search engine, exactly what the section answers. For a broader page audit, run the On-Page SEO Checker.
AI search
Headings are how AI finds the right passage.
AI search tools don't quote whole pages. They break a page into passages and pick the one that best matches the question, and headings are the most reliable boundaries between passages. A heading that matches a real question (“How long does payroll setup take?”) followed by a direct answer is the easiest thing on the web to quote.
The Answer-Ready Content Checker goes further: it checks whether each question heading is answered in its first paragraph. If your headings are added by JavaScript, check what AI crawlers see too, because many of them don't run scripts.
FAQ
Good questions.
Keep going
Related free tools
Found problems? We fix them, then get you named in AI answers.
These tools show what's broken. In 20 minutes we'll show you who ChatGPT recommends instead of you, and the three fixes we'd make first.
Book a callOr get the free AI visibility report by email.
no strings, really