Skip to content
GigAI Tools

Heading Checker: Audit Your H1–H6 Structure & Outline

Paste a page's HTML and get its heading outline drawn as a clean H1–H6 tree, with every structural issue (no H1, multiple H1s, skipped levels, empty headings) flagged and explained so you can fix the hierarchy before it costs you accessibility or rankings.

100% browser processingFree · no sign-up

What is the heading checker?

The Heading Checker parses pasted HTML to draw its H1–H6 outline as an indented tree, flagging a missing H1, multiple H1s, skipped levels and empty headings with a plain-English fix for each. A structure score and per-level counts summarise the page. Free and local, so staging drafts stay private.

The GigAI Heading Checker turns the invisible heading structure of a page into something you can actually read and reason about. Paste your full page source or just a section of markup and the tool parses it locally with the browser's native DOMParser, then draws every H1 through H6 as an indented outline, exactly the tree a screen reader announces and a search crawler uses to understand your content. Alongside the outline it runs a focused structural audit: it flags a missing H1, more than one H1, a document that opens on a lower level, headings that skip a rank (an H2 jumping straight to an H4), and empty heading tags that add noise without meaning. Each finding comes with a plain-English explanation of why it matters and how to correct it, not just a red mark. A live count of how many headings sit at each level, an overall structure score, and a one-line verdict give you the shape of the page at a glance. Because everything runs in your browser on the markup you paste, it works on staging builds, login-gated pages and unpublished drafts, and nothing you paste is ever uploaded, stored or logged.

Difficulty:
Easy
Typical time:
~30s
Processing:
100% browser processing

Last updated

How to use the heading checker

  1. 1

    Copy your page's HTML

    View source (Ctrl+U / Cmd+Option+U) and copy the markup, or export the HTML from your CMS. A full document or just the section with your headings both work.

  2. 2

    Paste it into the checker

    Drop the markup into the box, or load the built-in sample to see the audit in action. Parsing starts automatically and runs entirely in your browser.

  3. 3

    Read the outline and issues

    Scan the indented H1–H6 tree, check the per-level counts, and review each flagged issue with its explanation and fix.

  4. 4

    Correct the hierarchy and re-check

    Apply the suggested fixes in your template or content, paste the updated markup back in, and confirm the outline is now clean.

What Heading Checker includes

  • Full H1–H6 outline as a tree

    Every heading is drawn indented by its level, so you see the exact hierarchy a screen reader announces and a crawler reads: the true shape of your page, not the visual one.

  • Catches the structural faults that matter

    Missing H1, multiple H1s, a page that opens below H1, levels that skip a rank (H2 → H4) and empty heading tags are each detected and called out clearly.

  • A plain-English fix for every issue

    No cryptic red marks. Each finding explains why it hurts accessibility or SEO and exactly what to change, demote a heading, merge duplicate H1s, or fill in empty tags.

  • Per-level counts & structure score

    Live badges show how many headings sit at each level (H1…H6) and an overall score plus one-line verdict give you the page's structural health at a glance.

  • Surfaces heading anchor IDs

    Where a heading carries an id, it's shown alongside so you can wire up in-page anchor links and a table of contents against the real slugs.

  • Private, works on any markup

    Parsing happens entirely in your browser, so you can audit staging builds, gated pages and unpublished drafts: nothing you paste is uploaded, stored or logged.

Why use our heading checker

Fix accessibility before it ships

A logical heading order is how screen-reader users navigate a page. Seeing skipped levels and empty headings here lets you correct the outline before assistive-tech users hit it.

Give crawlers a clean content map

Search engines lean on your heading hierarchy to understand what a page is about. A single clear H1 and a properly nested outline make your topic and sub-topics unmistakable.

Understand a page in seconds

Instead of scrolling markup hunting for headings, you get the whole outline drawn as a tree, ideal for reviewing a template, a CMS export or a page you didn't write.

No account, no upload, no wait

Paste and read the result instantly in the browser. It runs on confidential or pre-launch pages without any of it ever leaving your machine.

Built for the way you work

From quick one-off fixes to daily workflows, see how people put this tool to use.

  • SEO specialist

    Audit a page's on-page structure

    Confirm a page has exactly one keyword-focused H1 and a logical H2/H3 nesting that reflects its topic, then hand a precise list of fixes to the content or dev team.

  • Accessibility engineer

    Verify a logical reading order

    Check that headings never skip a level and that none are empty, so screen-reader users get an outline they can actually navigate, a core WCAG expectation.

  • Frontend developer

    Sanity-check a template's headings

    Paste a rendered page to make sure a layout and a page component aren't both emitting an H1, and that reusable components sit at the right level in context.

  • Content editor

    Tidy a long article's outline

    See a guide or blog post as a heading tree to spot sections promoted or demoted by accident, and build a table of contents from the real hierarchy.

Supported formats

Accepts HTML, and produces Heading outline and Report, all processed locally in your browser.

Input formats
  • HTML
Output formats
  • Heading outline
  • Report

Frequently asked questions

Common problems, solved

Hit a snag? Here are quick fixes for the issues people run into most.

  • The checker says no headings were found, but my page clearly has them.

    The tool audits the HTML you paste, not a rendered live page. If your headings are injected by JavaScript after load, copy the DOM from your browser's Elements panel (right-click a heading → Copy → Copy outerHTML, or copy the whole <body>) rather than the raw View-Source, which shows only the initial server markup.

  • It flags multiple H1s but I only wrote one.

    A site header, a hero component and the page body can each emit an H1 without you noticing. Search the pasted markup for '<h1' to find every instance. Usually a shared layout is adding one on top of your content's H1. Keep a single H1 per page and demote the rest.

  • Why is a visually large heading not in the outline?

    The checker only counts real <h1>–<h6> elements. Text styled to look like a heading with CSS (a big, bold <div> or <p>) is invisible to crawlers and screen readers alike. Convert it to a genuine heading tag at the correct level so it joins the outline.

  • Is a skipped heading level always wrong?

    Going from H2 straight to H4 skips H3 and breaks the outline for assistive tech, so it's flagged. Jumping back up, H4 to H2 to start a new section, is normal and fine. The check only warns when you descend more than one level at once.

Get the most out of it

  • Use exactly one H1 per page and make it describe the page's main topic, it's the strongest on-page heading signal for both SEO and accessibility.

  • Never pick a heading level for its size. Choose the level for its place in the hierarchy and use CSS to style it.

  • Don't skip levels on the way down (an H2 should be followed by H3s, not H4s) so the outline stays navigable for screen-reader users.

  • Give important headings a stable id so you can link to them and build an automatic table of contents from the outline.

  • Keep decorative or empty <h_> tags out of your markup. An empty heading adds a meaningless stop for assistive technology.

What's new

Recent updates and improvements to the heading checker.

  1. Initial release. Paste HTML to get the H1–H6 outline as a tree plus structural checks for missing/multiple H1s, skipped levels and empty headings, each with a fix.

  2. Added per-level heading counts, an overall structure score with a one-line verdict, and surfaced heading id anchors in the outline.

Your privacy is built in

Every check runs locally in your browser using its native DOMParser. The HTML you paste is never uploaded, stored or logged. That makes it safe to audit staging builds, login-gated pages and unpublished drafts, and closing the tab erases everything you pasted.

  • Runs in your browser
  • No uploads
  • Nothing stored

Ready to try the heading checker?

Free, private and instant. Heading Checker runs right in your browser.