Heading Structure Validator

Review heading order and spot skipped levels.

  • Free
  • No sign-up
  • Instant results

1 Your input

2 Result

Your result will appear here

Fill in the form and press the button. Results show up right here, without reloading the page.

How to use Heading Structure Validator

  1. Copy the page HTMLCopy the page source, or just the part of the page that contains its h1 to h6 headings.
  2. Paste and run the checkPaste the code into the Paste your HTML box and press Run Heading Structure Validator.
  3. Review the heading listEach heading is listed in page order with its level and text, and a heading that skips a level is marked as a warning.

Common uses

  • Check an article outline before publishing
  • Find skipped heading levels in a theme template
  • Review headings after converting a document to HTML

Frequently asked questions

How do I use Heading Structure Validator?

1. Copy the page HTML: Copy the page source, or just the part of the page that contains its h1 to h6 headings. 2. Paste and run the check: Paste the code into the Paste your HTML box and press Run Heading Structure Validator. 3. Review the heading list: Each heading is listed in page order with its level and text, and a heading that skips a level is marked as a warning.

What counts as a skipped level?

A heading that goes more than one level deeper than the heading before it, such as an H2 followed directly by an H4. Moving back up, for example from H4 to H2, is not flagged.

Does it check for a missing or repeated H1?

No. It lists every heading and shows empty ones as Empty heading, but it does not warn about a missing H1, several H1s or a page that starts at a lower level.

Can it check a live URL?

No. Only the pasted HTML is read. Headings added by JavaScript after the page loads are missed unless you paste the rendered code, and text styled to look like a heading without h1 to h6 tags is ignored.

Where is my HTML processed?

The HTML is submitted to the GigaTools server, which extracts the headings and sends the list back. It is not passed to any other service, and the result page is marked private and not indexed.