ContentNew

Heading Structure Analyzer

Analyze the heading hierarchy of your content

100% client-side — your data never leaves your browserNo data stored or uploadedFree for lifetime · No signup

What this tool checks

This tool extracts every heading from a page — either HTML <h1> through <h6> tags, or Markdown # through ###### lines — and rebuilds them into a nested tree so you can see the outline at a glance. It then runs three structural checks: whether there's exactly one H1, whether any heading level is skipped (jumping from H2 straight to H4, for example), and whether any headings exist at all.

These aren't cosmetic checks. Search engines and screen readers both use heading structure to understand a page's outline; a broken hierarchy makes content harder to parse for both audiences, independent of how well-written the prose is.

When to use it

Use it before publishing any page where headings matter for SEO — blog posts, documentation, landing pages — especially ones assembled from multiple sections or written by different contributors, where heading levels tend to drift. It's also useful when auditing an existing site: paste the rendered HTML (view-source or a saved DOM snapshot) to check whether a CMS template is accidentally emitting two H1s, which is a common WordPress and page-builder bug.

For Markdown-based static sites (Docusaurus, Hugo, Jekyll, MDX), paste the raw source directly — the tool detects Markdown headings automatically when no HTML tags are present, so you can check heading structure before the content ever gets built.

Example

Paste `# Getting Started\n### Installation\n## Configuration` and the tool flags "Skipped heading level: H1 → H3 (at \"Installation\")" — because the content jumped from H1 to H3 without an H2 in between, even though it later has an H2. Fixing it means changing "### Installation" to "## Installation" so each level increases by exactly one step.

How to use the Heading Structure Analyzer tool

  1. 1

    Paste HTML or Markdown

    Drop rendered HTML with <h1>-<h6> tags, or raw Markdown with # syntax.

  2. 2

    Click Analyze

    The tool builds a visual heading tree indented by level.

  3. 3

    Review flagged issues

    Missing H1, duplicate H1s, and skipped levels are listed with the offending heading text.

  4. 4

    Share the result

    Copy a permalink to send the exact input and findings to a teammate or track before/after an edit.

Frequently asked questions

Does it check both HTML and Markdown in the same input?

It checks HTML tags first; if none are found, it falls back to parsing Markdown # headings. Mixing both formats in one input isn't supported — paste one or the other.

Why does it say I have no H1 when my page clearly has a title?

If your title is styled to look like an H1 but is actually a <div> or <p> with CSS, or a Markdown line without a leading #, the tool won't detect it — heading structure is about the semantic tag, not the visual size.

Is skipping a heading level actually a real problem?

For accessibility, yes — screen reader users often navigate by heading level, and a jump from H2 to H4 suggests a missing section or confuses the outline. For SEO it's a minor signal at most, but consistent structure still helps search engines summarize the page.

Is my content sent anywhere?

No. Parsing and analysis run entirely in your browser — nothing you paste is uploaded or logged.

Related on TechLogHub

Get the next tool before you need it

One email a week: new and trending developer tools, fresh comparisons, and what shipped. Unsubscribe in one click.