Free heading checker
Paste a page's HTML source, a draft from Google Docs or Word, or Markdown, and see its H1 to H6 outline. It flags a missing H1, extra H1s, skipped levels and empty headings, and shows the title tag next to the H1. Free, no sign-up, and what you paste stays in your browser.
Formatted text keeps its headings. For a live page, paste its source (Ctrl+U or Cmd+Option+U, then select all).
Example article. Replace it with yours.
Shows whether the H1 and the H2s use its words.
10 headings: 1 H1, 4 H2, 4 H3 and 1 H4. 1 thing to fix or check.
Read as Markdown (# lines).
What to look at
Check: Heading 4 goes from H2 to H4, skipping H3. Screen reader users who jump between headings may think they missed a section. Make it an H3, or add the level in between.
Outline
- Heading 1H1How to make cold brew coffee at home
- Heading 2H2What you need
- Heading 3H2Steps
- Heading 4H4Grind the beans coarseCheck
- Heading 5H3Steep for 12 to 18 hours
- Heading 6H3Strain and dilute
- Heading 7H2Common mistakes
- Heading 8H2Questions
- Heading 9H3How long does cold brew keep in the fridge?
- Heading 10H3Is cold brew stronger than hot coffee?
Serpwright finds the searches your site shows up for but has no page for, then writes and publishes the articles you approve.
3 days free, no card.
What it checks
Each finding is marked Fix, Check or Note, and says why.
No H1 (fix)
Google can use the main heading when it writes the title link shown in results, and suggests putting the main title in the first visible H1 (title links).
More than one H1 (check)
When two or more headings share the same level or styling, Google says it may use the first one as the title link. More than one H1 isn't an error in HTML, so this is a check, not a fix.
Skipped levels (check)
An H2 followed by an H4 skips a level. The W3C's accessibility tutorial says to avoid it where possible, and that going back up, from an H4 to an H2, is fine (Headings). A page whose first heading is an H3 counts too.
Empty headings (fix)
A heading with no words is announced as an empty heading. An image inside a heading counts as its alt text, so a logo with alt text is not empty.
Repeated headings (note)
Two headings with the same words, at any level. People who jump between headings can't tell them apart.
Title tag and H1 (note)
When you paste a page's source, the checker shows its title tag next to the first H1 and notes when the two share no words, since Google can take the title link from either.
What Google says about headings
From Google's own documentation, checked October 30, 2026.
- Heading order doesn't matter to Google Search, and there is no ideal number of headings. Google can rarely rely on the meaning hidden in HTML because much of the web isn't valid HTML (SEO Starter Guide).
- Headings help readers: the same guide says to break long content into sections with headings so people can find their way around the page.
- Google writes the title link in results from several sources, including the title tag, the main visual title and heading elements like the H1. To make the main title clear, it suggests putting it in the first visible H1 (Influencing title links).
- Order matters for people who use screen readers: 71.6% of them first move through the headings to find something on a long page, and 88.8% find heading levels useful (WebAIM screen reader survey, December 2023 to January 2024).
Where to copy the headings from
- Google Docs, Word or your editor
- Select the text and copy it. The checker reads the headings from the formatting and shows them as # lines: one # for an H1, ## for an H2, and so on. If the title uses Docs' Title style instead of Heading 1, it may not come through as an H1, so check the outline's first line.
- A live page
- Open the page, view its source (Ctrl+U on Windows, Cmd+Option+U in Chrome on a Mac), select all and copy. Headings that the page adds with JavaScript aren't in the source: in the browser's developer tools, right-click the <html> element and copy its outer HTML instead.
- Markdown
- Lines that start with # to ###### and a space. Lines inside ``` code blocks are skipped. Headings underlined with === or --- are not read.
The checker doesn't fetch pages, so it works on drafts and on pages behind a login. Headings made with role="heading" instead of H1 to H6 aren't read.
Articles with headings that answer the search
Serpwright reads your Search Console data, finds the searches your site shows up for but has no page for, then writes and publishes an article for each one you approve.
- Each article is planned as a brief first: each H2 is the statement or question its section answers, in the searcher's words, never “Introduction” or “Conclusion”.
- The title goes into your CMS's title field, which most themes show as the H1, and the body's headings start at H2. If a draft starts with an H1, it is removed before publishing so the page doesn't get two.
- Articles publish to WordPress, Webflow or Shopify with internal links to your related pages.
3 days free, no card.