Skip to content
Run here 100% in your browser, no upload, no login

Heading Analyzer

Paste HTML or Markdown to see the h1-h6 tree and catch skipped levels, missing or duplicate h1.

Markdown ATX headings (# to ######) and HTML h1-h6 tags are both read. Headings inside fenced code blocks are ignored. Setext headings are not parsed.

Heading tree

Issues

    Counts by level

    How to use it

    1. Paste a page source or a Markdown document into the input box. If the text contains h1 to h6 tags it is read as HTML; otherwise lines starting with one to six # signs are read as Markdown headings.
    2. The heading tree lists every heading in document order, indented by level, so the outline reads at a glance.
    3. The issues list flags structural problems: no h1, more than one h1, a level jump such as h2 followed by h4, an empty heading, or a heading longer than 60 characters.
    4. The counts row shows how many headings sit at each level, and the copy button puts the tree, counts and issues into a plain-text report.
    5. Everything runs in your browser. Nothing is uploaded, and no request leaves the page.

    Common use cases

    Why it stays private

    The analyzer parses the pasted text with the browser's own HTML parser plus a few regular expressions. No network request is made, no content is stored, and clearing the box removes every trace from the page.

    FAQ

    Q: Which heading syntaxes are supported? A: Markdown ATX headings, one to six # signs followed by a space, and HTML h1 to h6 tags. Headings inside fenced code blocks are ignored so that documentation samples do not pollute the outline. Setext headings, the underline style, are not parsed.

    Q: Does a missing h1 hurt rankings? A: Search engines can usually work out the page topic without an h1, and this tool makes no promise about rankings. A single clear h1 is a widely used convention that helps readers and assistive technology, which is why it is reported.

    Q: What does a skipped level mean? A: Going from h2 straight to h4 skips h3. It is not a formal error in the HTML specification, but it often signals a broken outline or a copy-paste accident, so it is listed as an issue.

    Q: Why is a long heading only a warning? A: Titles longer than about 60 characters are frequently truncated in search result listings, so the tool notes the length. Whether to shorten it is an editorial decision, not a rule this tool enforces.

    Your data stays on this device

    Heading Analyzer runs 100% locally. Everything you paste or drop is processed by your own browser and never transmitted. Nothing is stored on our servers — close the tab and it is gone.

    Nothing you type is sent to a server, logged, or used for analytics. The page works even with your network disconnected after first load.