Markdown Headings Extractor

Extract every heading from a Markdown doc as a flat, structured list.

Summary — What Free Markdown Headings Extractor Does

What This Free Tool Is

Free Markdown Headings Extractor pulls every heading from a Markdown document as a flat list or nested tree, with optional anchor-link slugs. Useful for auditing document structure, generating a table of contents, or planning a content outline before you start writing.

Privacy: This tool runs entirely in your browser. Your text is never uploaded, logged, or cached. Close the tab and it's gone. Verify in DevTools → Network: zero requests fire.

Why It's Free (And How We Keep It Free)

Seeing the skeleton of a long-form document shouldn't require a paid editor. The extractor runs 100% in your browser.

Table of Use

At-a-Glance Reference

InputOutputTypical sizeSpeedLogin needed
Markdown (.md)Headings (indent / flat / md / anchors)Any document size< 20 msNo

Markdown Headings Extractor Features

Here's what this free tool does in detail — every feature is built to solve real problems, runs entirely in your browser, and is free forever.

ATX and Setext Heading Support

Handles both styles: ATX (# Heading, ## Subheading) and Setext (Heading followed by === or ---). The tool skips headings inside fenced code blocks so example code doesn't pollute the outline.

For a full TOC with title, depth filtering, and link generation, use the dedicated Free Markdown TOC Generator.

Four Output Formats

Indented tree — visually shows the outline hierarchy. Flat list — one heading per line, no indentation. Markdown bullets — a bulleted list with proper indentation, ready to paste into a doc. Anchor links — a Markdown list where each heading is a link to its own slug ([Title](#title)), making it a mini table of contents.

Level Count Summary

Above the output, see counts per level: H1: 1, H2: 4, H3: 7, etc. Useful for spotting structural issues like too many H1s (there should usually be one) or deeply nested sections that could be flattened.

Level Filter

Use the Max level dropdown to limit the output to a specific depth. For a blog post table of contents you probably want H2–H3 only; for a deep API reference you might need H1–H4. One click to filter.

If you want to analyze the full document content beyond just the headings, try the Free Markdown Word Counter.

How To Use Free Markdown Headings Extractor

Step 1 — Paste Markdown

Paste the document, or click Load example.

Step 2 — Pick format and depth

Choose the output format and maximum heading depth.

Step 3 — Copy the outline

Click Copy headings and paste into your TOC, content plan, or editorial review.

Who Can Use This Tool

Writers planning long-form content

See the skeleton of a draft before fleshing out each section.

Documentation maintainers auditing structure

Review the hierarchy of a docs site to spot gaps and inconsistencies.

Editors reviewing outlines

Pull the heading structure out of a draft to check the narrative flow.

Bloggers building TOCs

Generate an anchor-link list to paste at the top of a long post.

Technical writers planning reference docs

Visualize the API reference hierarchy before writing descriptions.

Frequently Asked Questions

Is this Markdown Headings Extractor free?

Yes. Free forever, no account required.

ATX or Setext?

Both. The tool handles # Heading, ## Subheading, Heading\n===, and Heading\n---.

Does it skip code blocks?

Yes. Headings inside fenced code blocks are skipped to avoid false positives from example code.

Can I use it as a TOC generator?

The 'Anchor links' output format produces a mini TOC. For richer TOC options, use the dedicated TOC Generator.

Is my content uploaded?

No. Runs 100% in your browser.

Related Free Markdown Tools