H1 checker
Enter a URL or paste HTML to see every H1 on the page — plus the full H1–H6 outline — with missing, empty, and duplicate H1s flagged.
One page, one clear h1
The checker fetches your page (or takes pasted HTML), parses it like a crawler — no JavaScript — and lists every h1 it finds, flagging empty ones. Exactly one non-empty h1 passes; none fails; several get a warning, because while multiple h1s are valid HTML5, one clear h1 per page is the convention search engines and accessibility tools are built around.
Below the verdict you get the full h1–h6 outline as an indented tree, with skipped levels flagged — the fastest way to see whether your headings describe the document's structure or just its font sizes.
Reading the outline
- The h1 should state the page's main topic — not the site name, not the logo alt text
- Each deeper level should belong to the section above it, like a table of contents
- Skipped levels (h2 → h4) usually mean a heading was picked for its size — restyle with CSS instead
- Empty headings are invisible to readers but still pollute the outline for screen readers
Frequently asked questions
Are multiple h1 tags bad for SEO?
Multiple h1s are valid HTML5, and Google has said they can handle them. But a single clear h1 is the safe default: it gives search engines and screen readers one unambiguous statement of what the page is about, and it keeps your heading outline easy to reason about.
What happens if a page has no h1?
The page still renders and can still rank, but you're giving up the strongest on-page signal of the page's topic. Search engines fall back to the title tag and content, and screen reader users lose the top landmark of the document outline. Add one h1 that states the page's subject.
What is a skipped heading level?
Jumping from an h2 straight to an h4 with no h3 in between. Browsers don't care, but it breaks the logical outline that screen readers and some parsers rely on, and it usually means a heading was chosen for its font size rather than its meaning.
Why does the checker see different headings than my browser?
The URL mode reads the HTML the server returns, before JavaScript runs. If your headings are rendered client-side, crawlers that don't execute JS won't see them either. Paste the rendered DOM (copy the outer HTML from DevTools) to check the after-js version.
Does the h1 have to match the title tag?
No, and it often shouldn't be identical — the title is written for the search results page, the h1 for the reader who already clicked. They should agree on the topic, but the h1 can be shorter and more direct.
Related free tools
See all free tools →Built something? Put it online in seconds
host0 is the cloud for small software: bring any coding agent, build the tool only you need — like this one — and say "deploy to host0". Live at a shareable URL, no servers to run.