How to check H1 and H2 tags on a page

Start with the actual heading text and its place in the outline. These worked examples show what our checker reports, how to review the findings and what to check on the published page.

H1 Tag Checker

Choose the input that answers your question

Open H1 Tag Checker and enter the public page URL to inspect the HTML returned to our fetch service. Check the address shown in the result, especially after a redirect. A login page, blocked request or different response can explain an unexpected count. The report describes the supplied response; it does not establish what every visitor or crawler receives.

For a draft, a restricted page or a small test, choose Paste HTML. Paste the source as plain text and press Check pasted HTML. This mode analyses the text locally without requesting the page or its embedded resources. It accepts up to 250,000 characters and rejects longer input instead of silently trimming it. A fragment describes that fragment, so include the title when you want to compare title wording.

Read a small H1–H3 outline first

Copy this example into the local HTML input. It contains one H1, two H2 headings and one H3. The final H2 starts another section after the H3 subsection. Our H1 checker reports counts for all six levels, even though this example only uses three. The visible outline keeps the source order so you can relate a finding to the surrounding headings.

W3C recommends meaningful ranks and avoiding downward gaps where possible. Returning from H3 to H2 closes a subsection. Read the outline as a description of your content, then inspect the rendered page. A large font alone does not turn a paragraph into a heading, and a tag count does not establish that a heading label is useful.

<title>Plan your visit</title>
<h1>Plan your visit</h1>
<h2>Getting here</h2>
<h3>By train</h3>
<h2>Opening times</h2>

Turn each finding into a concrete review

Begin with the H1–H6 source counts, then read the review prompts and the outline together. The numbered prompts refer to source order, not a line number in your editor or a position on the screen. Keep the page open beside the report so you can identify a repeated navigation label, an article heading or a template element before making a change.

The H1 score uses this tool’s local checks. Additional structure prompts do not change that score. A report can therefore show a high score alongside a heading that still needs review. Longer reports display a sample: the outline and review tables show the first 40 items and identify a larger total in the caption. Counts can include headings beyond that visible sample.

FindingReviewPossible next action
No H1Did you inspect the intended response or only a fragment?Review the main content and any JavaScript-generated heading.
Repeated H1 textAre the repetitions deliberate or added by a template?Give intended sections clear labels and appropriate ranks.
Empty headingIs text or an image text alternative missing?Check the element on the rendered page before editing.
H2 → H4Is an intermediate subsection missing?Review the real section relationship rather than changing font size.

Separate repeated H1 text from multiple sections

This example has two H1 elements with the same wording and an empty H3. The checker reports two H1s, a repeated-text group and an empty-heading prompt. The move from H1 to H3 also produces a rank-gap prompt. These are separate observations about the same supplied source; they are not four independent measurements of search performance.

On a real page, locate each H1 before removing it. A site-name component, a mobile header and an article title can be supplied by different templates. Check which elements readers encounter and which ones carry the main content. Prefer a clear main heading and subordinate section labels, but use the actual document structure to decide the edit. This checker cannot diagnose a Google penalty from a count.

<title>Plan your visit</title>
<h1>Plan your visit</h1>
<h1>Plan your visit</h1>
<h3></h3>

Matching H1 and title wording is a different case

The example below contains one title element and one H1 element with identical text. Our checker treats their wording as a match, not as two H1 tags. The title belongs to the document metadata; the H1 labels content in the page. If a report says the texts match, first distinguish that observation from a repeated H1 group or two title elements.

Google documents several inputs for search title links, including heading text, and recommends a distinctive main visual title. That does not make our wording-overlap check a search-result preview. A title and heading may use different words while describing the same page. Review meaning and clarity yourself; the basic overlap calculation cannot understand every language, brand name or paraphrase.

<title>Plan your visit</title>
<h1>Plan your visit</h1>

Compare source with what the browser displays

Neither URL mode nor pasted mode runs the page’s JavaScript. A client application may add a heading after loading, while a supplied template may contain a different initial response. If the report says no H1 and you can see a title in your browser, inspect the element and compare it with the source you actually checked. Keep the response difference in your notes instead of immediately changing the title.

The H1 analyser excludes scripts, styles, comments and template examples. It does not compute CSS visibility, resolve all ARIA naming or provide a complete accessibility assessment. An image’s alt text can supply a text alternative in a source heading, but that still needs a visual and accessible-name review. A bold div, an ARIA heading and a native H1 are not interchangeable inputs to this literal-tag inventory.

Make one edit and check the published result

Record the exact element you intend to change and keep a way to restore the original. If a template adds an unnecessary H1, adjust that component and check another page using the same template. If the issue is an empty content heading, edit the content rather than making a broad theme change. Revisit the published address after saving; an editor preview may show a draft that visitors cannot yet receive.

Run the check again and compare the relevant count and text, not just the overall score. In URL mode, editing the address clears the previous result and requires another explicit check. In pasted mode, editing the HTML also clears its old report. Copy or download the report if you want a local record. The export includes the checked source and time; it is not an automatically stored history.

Choose the next check for the remaining question

Use the separate Heading Structure Checker when you want its broader section and word-count review, and Title Length Checker when the remaining question concerns the title element. These tools have different local heuristics, so keep their scope beside any copied score. Do not rewrite working content merely to make several tools agree numerically. Read the individual findings and the page itself.

Finally, inspect the page at the screen sizes your readers use and review navigation with the tools appropriate to your accessibility work. This guide and the source inventory help locate specific editing tasks. They do not confirm indexing, rankings or a complete accessible experience. After publishing, evaluate those outcomes through the relevant inspection, user testing and search data rather than inferring them from a heading count.

Frequently asked questions

How do I check H1 and H2 tags without installing an extension?

Use a public page URL in H1 Tag Checker or paste HTML into its local input. Read the H1–H6 counts and ordered outline. The URL mode inspects a fetched response; the pasted mode inspects exactly the supplied text, including a fragment if that is all you provide.

Does every page need the same number of H2 headings?

Use sections that make sense for the content. This tool does not establish a required H2 count or keyword quota. A short page and a long reference document can need different outlines. Review descriptive labels and the actual relationship between their sections.

Why does the checker miss a heading I can see?

It may have received different HTML, or JavaScript may create the visible heading after loading. The visible text could also be a styled element rather than a native heading tag. Compare the inspected element with the exact response or pasted fragment before deciding there is a page defect.

Can I use matching wording in the title and H1?

The worked example has one of each and passes this tool’s wording comparison. Matching text does not create a repeated H1 group. Decide whether both accurately describe the page; a matching or different phrase alone cannot demonstrate a ranking outcome.

Sources and further reading