Skip to main content

Heading Structure Checker

Check a page's H1–H6 outline from HTML or a pasted document: skipped levels, missing or empty headings, and keyword use.

  • Free
  • No sign-up
  • Runs in your browser
  • Updated

Your page

For a live page, open it, press Ctrl + U (Cmd + Option + U on a Mac), and copy everything. Nothing is uploaded.

Main content leaves out the header, menus, sidebar, and footer when the page marks them up with <main> or <article>.

Summary

Paste a page's HTML or a document to see its heading outline and checks.

How useful was this tool?

Your rating helps other users find the right tool.

How to use the Heading Structure Checker

  1. Paste the page or document

    Paste the page's HTML source (Ctrl + U, then copy everything), upload an HTML file, or copy a draft from Google Docs or Word and paste it.

  2. Add a focus keyword

    Optionally enter the keyword the page targets to see whether it's in the H1 and a subheading.

  3. Choose what to check

    Keep Main content only to skip the header, menus, sidebar, and footer, or choose The whole page.

  4. Fix the issues

    Start with errors, then suggestions. Select a check to jump to the heading in the outline.

  5. Export the outline

    Copy the outline as text or Markdown, or download a CSV to share with writers or compare pages.

Example: checking a blog post's heading structure

A guide with a logo H1 in the header, a skipped level, an icon-only heading, and a vague "Read more" heading, checked with the focus keyword "trail running shoes".

HTML pasted
<header><h1 class="logo">Northpeak</h1></header>
<main>
  <h1>How to Choose Trail Running Shoes</h1>
  <h2>What makes a trail running shoe different?</h2>
  <h4>Lug depth</h4>
  <h2>Cushioning and drop</h2>
  <h2><img src="/icons/fit.svg" alt=""></h2>
  <h3>Read more</h3>
</main>
Heading outline and checks (main content)
H1  How to Choose Trail Running Shoes        Keyword
  H2  What makes a trail running shoe different?   Keyword
      H4  Lug depth                         Skips from H2 to H4, use H3
  H2  Cushioning and drop
  H2  (empty heading)                      Empty
    H3  Read more                          Not descriptive

Checks
Error       Empty H2
Suggestion  Skipped level: H2 to H4
Suggestion  H3 isn't descriptive: "Read more"
OK          One H1: "How to Choose Trail Running Shoes"
OK          The focus keyword is in the H1
OK          A subheading mentions the focus keyword

The logo H1 sits in the header, so it's left out when checking the main content. The plural "shoe" in the H2 still counts as the focus keyword.

This heading structure checker shows the H1 to H6 outline of any page and points out the problems in it: skipped levels, empty or vague headings, missing or extra H1s, and repeated headings. Paste a page’s HTML or a Google Docs or Word draft, and you get an indented outline with each issue linked to its heading. Everything runs in your browser, so drafts never leave your computer.

What the heading checker looks for

People skim headings, screen reader users jump between them, and search engines use them to understand each section. The checker looks for:

  • H1 checker: whether the page has an H1, whether it has more than one, and whether the first heading is the H1.
  • Skipped levels. A jump such as H2 to H4, with the level that would fit instead.
  • Empty headings, including headings that hold only an image with empty alt text.
  • Vague headings such as “Read more” or “Click here”.
  • Repeated headings that make two sections hard to tell apart.
  • Hidden headings and long sections of more than 300 words with no subheading.
  • Title and keyword checks: whether the H1 and title tag describe the same topic, whether your focus keyword appears in the H1 and a subheading, and whether it’s repeated in too many headings.
Heading structure checker showing heading counts by level and checks for an empty H2, a skipped level, and a vague heading
The summary counts headings by level and lists what to fix first. Select a check to jump to the heading in the outline.

How to check the heading tags on a live page

Open the page in your browser, press Ctrl + U (Cmd + Option + U on a Mac) to view its source, select everything, and paste it into the checker. You can also upload a saved HTML file.

By default, the tool checks the main content only. Most themes put the logo, menus, sidebar, and footer outside the <main> or <article> element, and those headings repeat on every page. Choose The whole page to include them, labeled Header, Navigation, Sidebar, or Footer.

If a page is built with JavaScript and its source looks empty, open the developer tools, right-click the <html> element, choose Copy outerHTML, and paste that.

Checking drafts from Google Docs and Word

Copy a draft from Google Docs or Microsoft Word and paste it into the box. The tool reads the Heading 1 to Heading 6 styles and builds the same outline before the article is published. Bold text that only looks like a heading doesn’t count, which is how a CMS will see it too.

Do header tags matter for SEO?

Yes, though much of the usual header tags SEO advice overstates them. Google uses heading tags to understand the topics on a page, so clear, descriptive headings that match what people search for help. The exact markup matters much less. Google’s SEO Starter Guide says that having headings in semantic order is great for screen readers, but from Google Search’s perspective it doesn’t matter if you use them out of order. It also says there is no magic or ideal number of headings on a page. Google’s John Mueller has said for years that several H1s on a page are fine for search.

So the heading structure checker flags a skipped level or a second H1 as a suggestion or note, not an SEO error, because they matter to readers and accessibility rather than rankings. An empty heading is flagged as an error.

MythWhat’s true
A page must have exactly one H1 to rank.Several H1s don’t hurt rankings. One clear H1 is still easiest for readers, so the H1 checker shows it as a note.
Skipping from H2 to H4 is an SEO penalty.Google ignores heading order. It’s an accessibility issue, flagged by tools such as Lighthouse.
More keywords in headings means better rankings.Repeating the keyword in every heading reads as stuffing. Use it in the H1 and where it fits naturally.

Why heading structure matters for accessibility

For people who use screen readers, headings are the main way to move around a page. In WebAIM’s Screen Reader User Survey #10 (December 2023 to January 2024), 71.6% of respondents said that navigating through headings is the first thing they do to find information on a long page, and 88.8% found heading levels very or somewhat useful. An empty heading is announced as just “heading level 2”.

Headings also relate to two WCAG success criteria. 1.3.1 Info and Relationships (Level A) asks that text that looks like a heading is marked up as one, and 2.4.6 Headings and Labels (Level AA) asks that headings describe their topic. WCAG doesn’t strictly require headings to be in order, but nesting levels without gaps is the recommended practice, and Lighthouse’s accessibility audit reports headings that skip levels.

Reading the heading outline

The heading structure checker shows every heading indented by level, with its line number, section word count, and any problems. Select a check to jump to its heading.

Heading outline with an H4 nested under an H2, marked as skipping from H2 to H4 with a suggestion to use H3
Each heading shows its line number, section length, and problems, with the level that would fit when one is skipped.

Use Copy outline for a brief or ticket, Copy as Markdown for a content plan, or Download CSV to compare pages, or your outline with a competitor’s, in Excel or Google Sheets.

Common heading mistakes and how to fix them

  • Choosing a level for its size. Picking H4 because it looks smaller causes skipped levels. Choose the level that fits the outline, then change the size with CSS or your theme’s typography settings.
  • Logo or site name as the H1. Many older themes wrap the logo in an H1 on every page. Make the page title the H1 and the logo a normal link.
  • Icon-only headings. A heading that contains only an image needs alt text, or it’s announced as empty.
  • Bold text instead of headings. A bold line looks like a heading but isn’t one, so it doesn’t appear in the outline or help navigation.
  • Very long headings. Over about 90 characters, move the detail into the paragraph.

Writing headings people and search engines understand

Good headings work like signposts: short, specific, and in the reader’s words. Put the main topic in the H1 and keep it close to the title tag, since both describe the same page. Use H2s for the main questions or steps, and H3s only for parts of an H2 section. Phrasing some H2s as the questions people actually ask, such as “How long do trail shoes last?”, makes sections easy to find and quote, so the checker counts question headings for you. Answer the question in the first sentence after the heading.

A focus keyword belongs in the H1 and, where it fits naturally, in one or two subheadings. The keyword check tolerates simple plurals, so “trail running shoe” counts for “trail running shoes”, and it warns you when the keyword is in more than 60% of the headings.

Headings in WordPress and other CMSs

In WordPress, the post title is usually the H1 heading tag, so start your content with Heading 2 in the block editor rather than adding another H1. Rank Math and Yoast check subheadings for your keyword, but not the full outline your theme produces, so run the published page through the heading checker. The same applies to Shopify, Wix, Squarespace, and Webflow.

More tools for on-page SEO

Once your heading structure checker results are clean, check how the page appears in Google with the SERP Snippet Preview, set up social previews with the Open Graph Generator, and add structured data with the Article Schema Generator. For images in your headings and content, the Image Optimizer compresses and resizes them in your browser.

Heading Structure Checker FAQ

How do I check the heading structure of a page?

Open the page, press Ctrl + U to view the source, copy everything, and paste it into the heading structure checker. You'll get the H1–H6 outline and a list of issues.

Is it bad to have more than one H1?

Not for Google rankings; Google has said several H1s are fine. One clear H1 is still easier for readers and screen reader users.

Does skipping heading levels hurt SEO?

Google says heading order doesn't matter for Search. Skipped levels can confuse screen reader users, so it's worth fixing for accessibility.

Do header tags help SEO?

Yes, as a way to describe each section clearly. Descriptive headings help Google and readers understand the page; their exact order and count matter much less.

Can I check a Google Doc before publishing?

Yes. Copy the document and paste it into the checker. It reads the Heading 1 to Heading 6 styles and builds the same outline.

Is my content uploaded?

No. The checker runs entirely in your browser, so pasted pages and drafts never leave your computer.

Built and reviewed by Devansh Thakkar

WordPress developer and technical SEO specialist with 250+ client projects delivered since 2019. This tool and guide were last updated on .

More about Devansh Thakkar
  • SERP Snippet Preview

    See your title and meta description as Google shows them on desktop and mobile, with pixel-accurate cut-offs and title checks.

  • Open Graph & Twitter Card Generator

    Create Open Graph and Twitter card tags with live previews for 4 platforms, OG image size checks, and crop guides.

  • Image Optimizer

    Compress, resize, and convert images to WebP in one step, with SEO file names and responsive srcset code. Nothing is uploaded.

  • Article Schema Generator

    Create Article, BlogPosting, and NewsArticle JSON-LD with image checks, author best practices, and correct dates. Auto-fill it from your page.

  • JSON-LD Validator

    Validate JSON-LD against schema.org and Google's rich result rules, find exact syntax errors, and auto-fix common mistakes.

  • Breadcrumb Schema Generator

    Build BreadcrumbList JSON-LD from a URL or your page's HTML, with multiple trails, Google checks, and matching breadcrumb HTML.