SEO Tools
HTML Headings Extractor
Extract every h1 to h6 from any HTML page or fragment. View the outline, spot missing or skipped levels, and copy as text, markdown, or JSON.
Parsing uses the browser DOMParser, so scripts inside the pasted HTML are never executed. The HTML stays in your browser.
Heading counts
h1
0
h2
0
h3
0
h4
0
h5
0
h6
0
Paste HTML to see how many headings of each level the page contains.
Health check
The accessibility and SEO checks light up here once headings are detected.
Outline view
Indented tree by heading level
Paste HTML on the left to see its heading outline here. Try Load sample for a worked example.
How to use
- Paste any HTML into the input area, full page source from View Page Source or just an article body. Try Load sample to see a worked example.
- Read the heading counts panel to see how many h1, h2, h3, h4, h5, and h6 elements the page contains.
- Check the Health check panel for missing h1, multiple h1s, skipped levels, empty headings, and headings over 70 characters.
- Switch between Outline, Flat list, Markdown, and JSON views to see the heading structure in the format you need.
- Use Copy view to copy the active output, or use the per-heading Copy buttons to grab a single heading text.
About this tool
HTML Headings Extractor parses any HTML you paste, full page source or a single article body, and surfaces the heading outline plus a small accessibility and SEO health check. Every h1, h2, h3, h4, h5, and h6 inside the input is detected in document order, including headings nested deep inside sections, asides, articles, headers, and divs. The tool reports per-level counts so you can see at a glance how many h1s and h2s a page has, then renders the outline four ways: an indented text tree that mirrors the heading depth, a flat list with the level and id of each heading, a markdown skeleton with one #/##/### line per heading (useful for table-of-contents drafts), and a structured JSON array for scripted audits. Health checks flag the issues SEO and accessibility auditors look for first: missing h1 (most pages need exactly one), multiple h1s (still permitted under the HTML5 sectioning rules but tripped by most CMS and SEO tools), skipped levels such as h2 jumping straight to h4 (which breaks screen reader navigation and confuses outline indexers), empty headings with no text content, and very long headings over 70 characters that read more like paragraphs than titles. Parsing runs through the browser DOMParser into an inert document, so any scripts in the pasted HTML are never executed. Useful for SEO audits on competitor or client pages, accessibility reviews of HTML emails and rendered React pages, content writers checking the outline of a draft after a CMS save, technical writers building tables of contents, and developers verifying that a generated page has the heading structure they expected. The HTML you paste never leaves your browser.
Free to use. Works in your browser. No signup, no login.
Related tools
You may also like
Meta Tag Preview
SERP, Open Graph, and Twitter Card preview with pixel-accurate length checks.
Open tool
SEOKeyword Density Checker
Top keywords, bigrams, and trigrams with counts and density percentages.
Open tool
SEOSchema Markup Generator
Generate JSON-LD schema markup for ten common types with live validation.
Open tool
SEOOpen Graph Tag Generator
Build og: and twitter: meta tags with live multi-platform previews and validation.
Open tool
ConverterHTML to Markdown Converter
Convert HTML to GFM Markdown with tables, code, and reference links.
Open tool
TextMarkdown TOC Generator
Build a GitHub-style Markdown table of contents from any document.
Open tool