Heading Tag Checker
The H1 To H6 Outline
This heading tag checker draws the outline of any page: every heading in order, indented by level, with the skipped levels and empty headings marked. Paste an address, or paste the markup itself.
- FreePrice
- 2Modes
- NoneSign-up
- NothingStored
Heading Tag Analyzer
The H1 to H6 outline of a page, and where it breaks
- Headings
- 0
- H1 tags
- 0
- Levels skipped
- 0
- Empty headings
- 0
- Deepest level
- —
Ready. Paste an address, or switch to markup mode and paste the page itself.
What A Heading Outline Is For
Headings are not big text. They are the table of contents a page builds for itself, and two groups read that contents rather than the page.
Screen reader users jump between headings to reach the part they want. Crawlers read the same structure to work out what a long page covers.
So an outline with no H1, or one that jumps from H2 to H4, reads like a contents page with chapters missing.
The W3C Web Accessibility Initiative puts it the same way in its guidance on page structure: headings describe sections, and the levels describe how those sections nest.
One H1, And Why
The H1 says what the whole page is about. One of them, at the top, matching the subject of the page.
HTML5 technically allows several, because sections were meant to create their own outlines. Browsers never implemented that outline, so in practice one H1 remains the rule.
An h1 tag checker is therefore the quickest page audit there is. No H1 or three H1 tags both point at a template problem rather than a writing one.
Why A Skipped Level Matters
A jump from H2 to H4 tells assistive technology that a subsection sits inside something nothing ever opened.

Nearly every fix comes down to styling. Somebody wanted smaller text, so they used a lower level, and the heading elements reference is clear that size belongs in CSS.
Style the H3 to look how you want. Then the outline stays honest and the page still looks right.
Empty Headings
A heading wrapped around an image, an icon, or nothing at all. A screen reader announces "heading, blank", which is worse than no heading, and this analyser marks each one.
The Outline View and the Page View
Address mode fetches a live page from this server, because your browser may not read another site on your behalf.
Markup mode reads what you paste, entirely in your tab. So it covers a staging site behind a password, a page still in the editor, or a template fragment.
The status line says which mode is running. Nothing leaves the tab in markup mode, and the footer states the difference.
How People Actually Use An Outline
A screen reader can list every heading on a page and jump straight to one. That list is the outline this tool draws, in the same order.

Sighted readers do something similar by eye. They scan down the page for a heading that matches what brought them there, and they read from that point.
Both behaviours reward the same thing: headings that describe their section and sit at the right level. Neither rewards a keyword stuffed into an H2.
So write the outline first, then fill it in. A page that reads well as a list of headings usually reads well as prose.
Headings And Long Pages
A long page lives or dies by its outline. Past about a thousand words, nobody reads top to bottom, and the headings become the navigation.

Google also pulls section links from a clear structure on some results, which gives a long page more than one entry point.
Therefore a page with fifteen sections needs fifteen honest headings, not five headings and ten bold lines.
Reading The Tree This Tool Draws
The tree indents each heading under the one above it, so a jump from H2 to H4 shows as a gap you can see rather than a warning you have to read.
Bold red marks the second H1, if a page carries one. That is the fault worth fixing first.
Empty headings appear as a dash. A heading with only an icon inside it tells a screen reader nothing at all.
And the count at the top says how many of each level the page uses. Nine H3 headings under one H2 usually means the section wanted splitting.
Why Headings Help Readers More Than Rankings
Stuffing keywords into an H2 stopped working long ago. A clear heading structure helps a crawler understand a long page, and it helps a reader far more, which is the better reason.
Working With the Heading Tag Checker, Start to Finish
Three steps, and the outline appears as a list you can read top to bottom.
- 1
Pick a mode
A live address, or markup you paste. Markup mode sends nothing anywhere, which suits a page that is not published yet.
- 2
Run it
The outline fills in, indented by level, with the tag name on every row. Amber rows are skipped levels and red rows are empty headings.
- 3
Read the findings
Under the outline the faults appear in plain words: no H1, several H1 tags, skipped levels, empty headings, and anything unusually long.
- 4
Fix the levels, not the sizes
Almost every skipped level is a font size decision. Therefore change the CSS and leave the heading at the level its position deserves.
What Sets This Heading Checker Apart
Most of these print a flat list of headings. The differences here are the indent, the faults and the second mode.
An indented outline
Each row sits at its own level, so a jump from H2 to H4 is visible rather than something you have to count.
Markup mode
Paste a fragment from your editor. Nothing is fetched and nothing is sent, which matters for unpublished work.
Faults named in words
Skipped, empty, missing. Each finding says what to do rather than scoring the page out of a hundred.
Script blocks ignored
Headings inside script, style, template or comments are not real headings, so none of them reaches the count.
No parser, by design
This site blocks DOM parsing of untrusted markup, so the scan finds tags by shape. A stranger's page can never enter this document.
A copyable outline
One press gives you the whole structure as indented text, ready for a ticket, a review or a document.
Habits for a Tidy Heading Outline
Headings are cheap to get right and awkward to fix later. These eight cover nearly every case.
- A single H1 close to the start. It names the page. If two things on a page both deserve an H1, you probably have two pages.
- Go from H2 to H3, never from H2 straight to H4. An H2 comes after the H1, and an H3 after an H2. Going back up is fine, since a new H2 simply opens the next section.
- Use CSS for size. Pick the level by position in the outline, then style it. A heading chosen for its font size breaks the structure for everyone who cannot see it.
- Write headings that work alone. Somebody skimming a list of your headings should still understand the page. "Overview" tells them nothing.
- Keep them short. Under about ten words. People scan headings rather than read them, so a sentence-length heading defeats the purpose.
- Do not wrap an image in a heading. A screen reader announces an empty heading. Put the text in the heading and the logo beside it.
- Check the template, not one page. A heading fault in a template repeats on every page built from it, so one check covers hundreds.
- Run the check again once a redesign ships. New themes change heading levels to suit their type scale, and that is when a gap in the outline usually appears.
Six Heading Mistakes On Real Sites
None of these shows up in a browser. All six show up in an outline.
The logo as the H1
Common on older themes. Every page then claims to be about the company name, and no page says what it actually covers.
An H4 chosen for its size
The design called for smaller type. The outline now has a hole in it, and assistive technology reports a subsection with no parent.
Several H1 tags from widgets
A sidebar, a footer and a hero each add one. The page ends up claiming three subjects.
Headings used for emphasis
A bold line in the middle of a paragraph marked up as an H3. It appears in the outline as a section that does not exist.
Empty headings around icons
A decorative shape inside heading tags announces itself as a blank heading, which is noise for anybody listening.
No H1 at all on a landing page
Page builders drop it more often than anything else, and the page loses the one heading that names its subject.
Heading Questions People Ask
Is one H1 per page still the best rule in 2026?
One. HTML5 allows more in theory, though no browser ever implemented the outline that idea depended on, so an h1 tag checker still treats a second one as a finding.
Does a skipped heading level hurt SEO?
On its own, hardly any. It hurts accessibility clearly, since screen reader users navigate by heading, and that alone justifies the fix.
Can I check a page that is not live yet?
Yes. Switch to markup mode and paste the HTML. Nothing leaves your tab in that mode, so unpublished work stays on your machine.
Why does the count differ from my editor?
This heading tag checker ignores headings inside script, style, template and comment blocks. Those are not real headings, however much they look like one.
Does skipping from H2 to H4 hurt a page?
Very much. The outline is read top to bottom, so a section heading that appears after the content it introduces confuses both a reader and a crawler.
What about an H1 in the site header?
It counts, and on most themes it is the logo. Every page then shares one H1, the issue this checker flags more than any other.
Should headings contain keywords?
Naturally, yes. Deliberately, no. A heading that describes its section will contain the words people search for without any help.
What about headings inside a nav or a footer?
They count, because they are in the document. A repeated H2 in a footer is worth knowing about, since it appears on every page.
How many words should a good heading hold?
Under about ten words. The analyser notes anything past seventy characters, which is roughly where a heading stops being scannable.
Does it follow redirects?
Up to five, and each hop goes through every check again before the next request. The outline you get belongs to the page the chain ends at.
Do headings in a sidebar count?
Yes, because they sit in the document. A sidebar H2 repeating on every page is worth knowing about, and the outline shows exactly where it lands.
Can I save the heading outline from Denwix as a file?
Press the copy button and you get the whole structure as indented text, with the level on each line. It pastes cleanly into a ticket or a review document.
Is the address I check stored?
No. It serves one request and then goes, and this server keeps no copy of the page.
Tools For The Rest Of The Page
The outline is one layer of an on-page review. These three cover the others.
Meta Tag Analyzer
The head block of the same address, with the gaps named.
Open tool →Readability Score Checker
Five formulas on the writing under those headings.
Open tool →HTML Tag Stripper
Pull the plain text out of a page and keep the breaks.
Open tool →
Ready to See Your Heading Outline?
Paste an address or your markup, then read the outline top to bottom. The heading tag checker is free, needs no account, and keeps no record of the page.