Updated · Built and checked by the PlinzoTools team, formulas tested against published sources
Check the heading tag (H1-H6) structure of HTML content for SEO best practices.
This tool parses HTML content and counts each heading level (H1 through H6), flagging common structural issues: no H1, more than one H1, or a heading level being skipped (e.g. jumping from H2 straight to H4) -- all of which can hurt both SEO and accessibility.
Paste your page's HTML source. The heading counts and any structural issues found appear instantly.
The tool scans the pasted HTML for opening heading tags, from h1 to h6, in any letter case, and counts how many of each level it finds. It only looks at the tags themselves. It does not read the heading text and does not check whether a heading is empty, but it does follow the order in which headings appear, so it can tell when a level is skipped. Headings inside HTML comments, scripts and style blocks are ignored.
Imagine the HTML for a hypothetical recipe page has one H1 for the recipe name, three H2 headings (Ingredients, Method, Notes), and two H4 headings under Method for individual steps. The counts would read H1: 1, H2: 3, H3: 0, H4: 2. The tool flags that an H2 is followed directly by an H4, so the H3 level is skipped. The fix is to make the step headings H3 elements, or to drop them to plain list items if they do not need to be headings at all. After the change the counts become H1: 1, H2: 3, H3: 2, and no issue appears.
The page states that a page should have one H1, and that is sound advice for clarity, particularly for screen-reader users who navigate by headings. It is also true that many templates, page builders, and older themes output more than one H1 (for example a logo wrapped in an H1 plus the article title). A duplicate H1 is a signal to review your template rather than proof of a ranking problem. Decide which single heading best names the page and demote or restyle the rest.
Open the page you want to test, view the source or copy the rendered HTML from the inspector, and paste only the main content region if you want to ignore site-wide header and footer markup. Then review the counts row by row. If the H1 count is not one, decide which heading is the real title. Then look for gaps: any level with a zero between two levels with headings is the common signature of a heading chosen for its font size instead of its meaning. Adjust the markup so the levels reflect the outline, and use CSS to control the visual size. Re-run the check after each change until the issue list is empty.
Screen-reader users commonly jump from heading to heading to scan a page, similar to how sighted users scan bold text. A predictable outline makes that possible. Skipping levels forces those users to guess whether content was lost between sections. This is a usability concern independent of any search ranking effect, and it is a good enough reason on its own to clean up a messy outline. This tool is a fast first pass, not a substitute for a full accessibility review with the appropriate assistive technology.
A single, clear H1 gives both search engines and screen-reader users an unambiguous main topic for the page -- multiple H1s or none at all can dilute that signal.
Yes. It walks the headings in document order and flags a jump of more than one level, such as an H2 followed by an H4, or a first heading that is not the H1.
The check stops after the first gap it finds, to keep the message list short. Fix that gap and paste the HTML again to see whether another skipped level remains.
Only if they are present in the HTML you paste. Copy the rendered HTML from your browser's inspector rather than the raw source file, since raw source will not include headings created after load.
No. Comments, script blocks and style blocks are removed before the headings are counted.
Reference: Google Search Central