New

Offer Showdown Discover

All free tools

Free tool · SEO

Heading extractor.

Paste a page's HTML. Every H1 to H6 comes back as an indented outline, with the missing H1, the skipped level and the heading that runs too long flagged. Everything stays in your browser.

  • Free
  • Open access
  • Runs in your browser
  • Copy as outline
tonaily.com / tools / heading-extractor

What gets checked

  • Exactly one H1
  • Levels in sequence
  • Every heading filled
  • Every heading under 70 characters
Example 7 headings on an article page
H1
1
H2
3
H3+
3
Issues
1
  1. H1 Internal linking: the complete guide 36
  2. H2 Why internal links matter 25
  3. H3 Crawl depth 11
  4. H3 Anchor text 11
  5. H2 How to map your links 21
  6. H4 Step 1: list your pages Skipped from H2 23
  7. H2 Mistakes to avoid 17

Issues

  • Skipped level: H2 → H4

The H4 under “How to map your links” should be an H3. Keep the level, change the size in CSS.

How to read the outline.

  1. 01

    Read it as a table of contents

    Each heading is indented by its level. Read the tree top to bottom, in isolation: if it makes sense as a table of contents, the structure is right. Each heading should be clear on its own, before the reader reaches the paragraph under it.

  2. 02

    One H1, then H2s

    The dark tag is the H1. There should be one, and it should say what the page is. Two H1s split the subject; a missing one leaves Google to pick one for you. The H2s under it are the parts of the page, and most of them should carry a word the page is meant to rank for.

  3. 03

    The problems, in order

    A skipped level (H2 straight to H4) means a level was chosen for its size. An empty heading is a bare styling hook. A heading over 70 characters has become a sentence. Each one is listed with the heading it came from, so the fix is one edit away.

The outline Google reads first.

Before a crawler weighs a single paragraph, it reads the headings. They tell it what the page is about, how the parts relate and which sections answer which question. A page with a clean H1 to H3 outline gets understood on the first pass; a page where the levels follow the design gets guessed at.

Headings are also what people actually read. A visitor landing from a search result scans the H2s to decide whether the answer is here, and a screen reader user navigates by them. The same structure that helps the crawler is the one that keeps the reader on the page.

Run the extractor on the three pages that bring most of your traffic. Then on the page you are about to publish. The second use is the one that pays: a skipped level or a second H1 takes a minute to fix before publication, and tends to stay for good once the page is live.

Questions

Why does heading structure matter?
Headings are the outline of the page. Search engines use them to understand how sections relate, screen readers use them to navigate, and readers use them to skim. A page whose headings read as a coherent table of contents is usually a page that was structured before it was written.
Should a page have only one H1?
One is the safe convention and the one to follow. HTML5 technically permits several within sectioning elements, but support is uneven across assistive technology, and a single H1 remains the clearer choice. One H1 stating what the page is, then H2s for its parts.
Is it a problem to skip a heading level?
Jumping from H2 to H4 breaks the outline for screen readers and signals that the levels are being used for their size rather than their meaning. Fix it in CSS: keep the hierarchy correct and style the heading to whatever size the design needs.
How many headings should an article have?
Enough that someone scrolling can find the section they came for. In practice one every 200 to 300 words. Fewer and the page is a wall; many more and each section is too thin to deserve its own heading.
How long should a heading be?
Under 70 characters. A heading is read in one glance; past that length it stops being a label and becomes a sentence, it wraps on three lines on a phone, and it is the one Google is least likely to lift into a featured snippet. The checker flags every heading over 70 characters.
How do I get the HTML of a page?
In Chrome, Firefox or Safari, open the page, right-click and choose "View page source", then copy everything. For a draft page, paste the HTML your CMS or editor produces. The extractor reads the markup as is, right in your browser: everything you paste stays on your device.

Tools that go with it

One outline is a check. Forty is a site.

Tonaily writes every article from a brief with its H1 and H2s decided first, then scores the structure before it ships. Plug your site and see which of your pages it would restructure first.

Free audit, open access · Free plan, just your email

Cette page est disponible en français.

Lire en français