Check the H1 to H6 heading structure of a page

Enter an address, or paste some HTML: the tool shows the outline of headings in document order, counts those at each level and flags a missing or multiple H1, skipped levels, empty, long or repeated headings, with a source for each remark.

    No maximum length is published: leave empty to apply none.

    Test HTML before publishing

    The code is analysed in your browser and sent nowhere.

      How to use the tool

      Paste the address of a page and click “Analyse”. The tool reads the page’s HTML, picks up every heading from H1 to H6 in document order and shows it as a staircase: the deeper the level, the further the line is indented. Above the tree, the number of headings at each level. Below it, a table of six checks: the H1, skipped levels, empty headings, repeated headings, long headings and hidden headings.

      Each check carries a status. “OK” means nothing to report, “To note” means the point deserves a look without being an established fault, “Review” means the structure departs from what the W3C and MDN recommend. The tool computes no score: a page can have several H1s and rank very well, and a site can have a perfect structure and nothing to say. Every remark points to its source, listed at the bottom of the page.

      To test a page before publishing it, open “Test HTML before publishing” and paste the code. It is analysed in your browser and sent nowhere. The field “Flag headings longer than” is empty by default: no maximum length is published, so the tool does not pick one for you.

      What Google says about headings

      Google’s SEO starter guide has a passage on the number and order of headings. For screen readers, a semantic order is great; for Google Search, headings can be out of order and it does not matter. There is no ideal number of headings for a page either.1 The same guide recommends providing headings to help users navigate pages.1 Google does not expect a perfect outline: the structure serves readers first, and the rest of the work happens in the text.

      On the H1, Google’s position is old and consistent. In a Q&A session of September 2019 reported by Search Engine Journal, John Mueller answered that the number of H1s has no limit, upper or lower, that a site ranks just as well with no H1 as with five, and that with HTML5 several H1s on a page are common.2 In May 2021 the same outlet reported a Google video where Mueller says Google’s systems have no problem with several H1s, and another answer saying a page with no H1 can rank for words that appear in an H2.3 The article’s author, for his part, disapproves of using several H1s.

      One H1 or several: two readings that do not contradict each other

      MDN acknowledges that the HTML standard allows several h1 elements, but calls it bad practice: a page should generally have a single h1 describing its content.4 The examples in the W3C tutorial on headings show a single h1, the main heading of the page.5 The answer depends on who is asking. For Google, the number of H1s has no bearing on ranking. For someone browsing with a screen reader, a single H1 says clearly what the page is about.

      The tool follows this split. A single H1 is marked “OK”. No H1 or several H1s are marked “To note”, never “Review”, with both views side by side. The decision is yours: on a page template of a brochure site, a single H1 is the simplest choice to defend; on a template that repeats a block, several can be justified.

      Skipped levels and accessibility

      Headings nest by rank. The W3C tutorial asks to nest them by level, and warns that skipping ranks can be confusing and should be avoided where possible: an h2 should not be followed directly by an h4.5 MDN gives the reason: people using a screen reader jump from heading to heading to grasp a page’s content quickly, and if a level is missing they may wonder where the missing heading went.4

      Both sources add the same nuance. Going back up several ranks at once, for example from an h4 to an h2 when closing a subsection, is normal. The W3C adds an exception for fixed areas such as sidebars, whose ranks should not change with the main content: consistency across pages comes first there.5 The tool therefore only flags drops of more than one rank. It also shows the area of each heading (menu, header, footer, sidebar), so you can see whether a skip comes from the content or from a template.

      MDN also reminds us not to pick a heading level to get a text size: size is set in CSS.4 Success criterion 2.4.6 of WCAG 2.2, level AA, asks that headings, when present, describe the topic or purpose of the content.6 And technique H42 notes that heading markup lets assistive technologies announce text as a heading, with its level.7

      Empty, repeated, long or hidden headings

      An empty heading is an h2 or h3 tag with no text, or whose text is an image without an alternative. Screen readers jump from heading to heading:4 an empty heading is a stop that announces nothing. The tool reads the alt text of an image placed in a heading, and says so in the tree so you know where the text comes from.

      Identical headings are flagged “To note”. W3C criterion 2.4.6 expects headings that each describe their own section;6 two sections with the same heading can no longer be told apart in the list of headings. On a page of questions, product cards or prices, repetition is sometimes intended, hence “To note” rather than “Review”.

      No rule on the length of a heading is published by Google or the W3C. The tool therefore shows the length of each heading, names the longest, and only judges it if you set a threshold yourself. Headings hidden by a hidden attribute, an aria-hidden attribute or an inline display:none style are greyed out in the tree: they count in the structure of the code but are not displayed.

      What the tool sees, and what it does not

      For an address, the request leaves the nemociment.fr server, which reads the page’s HTML, follows up to five redirects and sends your browser only the list of headings, not the page. The code is read before any JavaScript runs: a heading added by a script does not appear, and Google, which runs JavaScript, may see more than the tool. Headings declared with role="heading" and aria-level are read like h1 to h6 tags. External style sheets are not read, so a heading hidden by a CSS class is not spotted as hidden. The tool reads 1.5 MB of code at most, shows 500 headings at most and accepts 20 analyses per 10-minute window.

      After the diagnosis

      Heading structure is worked on together with the page title and description: the title and meta description length tester checks the length of what Google shows in the results, while this tool examines what the page shows once opened. Headings also act as landmarks for the links between your pages, a subject the internal linking guide covers in detail. And on a whole site, with its templates, category pages and articles, heading structure is checked template by template, a point I verify in the SEO audit I run for my clients.

      Frequently asked questions

      Can a page have several H1s?

      Yes, HTML allows it, and John Mueller has said several times that Google’s systems have no problem with several H1s.2 MDN nevertheless finds it better to keep a single one that describes the content of the page.4

      Is the H1 a ranking factor?

      Google does not present it that way. According to John Mueller, a site ranks just as well with no H1 as with five,2 and a page with no H1 can rank for words that appear in an H2.3 The H1 remains useful for readers, who find the topic of the page there.

      How many headings should a page have?

      There is no ideal number. Google’s SEO starter guide says so outright, and adds that the order of headings matters little for search but counts for screen readers.1

      Why should heading levels not be skipped?

      People browsing with a screen reader jump from heading to heading, and a missing level can send them looking for a heading that does not exist.4 The W3C asks to avoid it where possible, while accepting that going back up several ranks when closing a subsection is normal.5

      How long should an H2 or H3 heading be?

      No rule at Google or the W3C sets one. A heading must describe the topic of its section, which is what WCAG criterion 2.4.6 asks,6 and a single word is sometimes enough. The tool shows the length of every heading and only flags the threshold you choose.

      Does the tool see headings added by JavaScript?

      No. It reads the HTML received from the server, before scripts run. If your page’s headings are created in the browser, copy the code shown in your browser’s developer tools and paste it into the “Test HTML” field, which analyses it as is.

      Sources

      The passages of this page and the tool’s remarks that rest on a source point to one of these references, read on 16 October 2026.

      1. Google, “SEO Starter Guide: The Basics”, Google Search Central, updated 18 December 2025. developers.google.com ↑
      2. Roger Montti, Search Engine Journal article of 30 September 2019 on John Mueller’s answer about the number of H1s (Google Webmaster office hours). searchenginejournal.com ↑
      3. Roger Montti, Search Engine Journal article of 12 May 2021 on multiple H1s and the absence of an H1, based on statements by John Mueller. searchenginejournal.com ↑
      4. MDN, “HTML heading elements: h1, h2, h3, h4, h5, h6”. developer.mozilla.org ↑
      5. W3C WAI, “Headings”, web accessibility tutorials on page structure, updated 4 May 2017. w3.org ↑
      6. W3C, “Understanding Success Criterion 2.4.6: Headings and Labels” (WCAG 2.2, level AA). w3.org ↑
      7. W3C, “Using h1-h6 to identify headings”, technique H42 (WCAG 2.2). w3.org ↑

      Unsure about the structure of your pages?

      The technical SEO audit reviews headings, page templates and indexing for each type of content. I reply within 24 working hours.

      Contact me