Summary — What Free Markdown Auto-Number Headings Does
What This Free Tool Is
Free Markdown Auto-Number Headings adds hierarchical numbering to every heading in a Markdown document. H1 becomes 1, H2 becomes 1.1, H3 becomes 1.1.1, and so on. Configurable start level, max depth, separator character, and automatic removal of existing numbers.
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)
Numbering 30 headings by hand is tedious and error-prone. Add one section and every number after it shifts. This tool does it in milliseconds, for free, in your browser.
Table of Use
At-a-Glance Reference
| Input | Output | Typical size | Speed | Login needed |
|---|
| Markdown (.md) | Markdown with numbered headings | Up to 5 MB | < 50 ms | No |
Markdown Auto-Number Headings 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.
Hierarchical Dot-Notation
Headings are numbered in hierarchical order: # 1 Introduction, ## 1.1 Getting Started, ### 1.1.1 Prerequisites. Deeper counters reset when a higher-level heading appears. The separator is configurable (dot, dash, slash, or any text).
To audit your heading hierarchy first, use the Free Markdown Heading Shifter to normalize levels.
Configurable Range
Set Start level and Max level to number only a subset of headings. For example, set start to 2 and max to 4 to number H2 through H4 while leaving H1 as a standalone title. Headings outside the range pass through untouched.
Pair with the Free Markdown TOC Generator to generate a matching table of contents after numbering.
Automatic Cleanup of Existing Numbers
The Remove existing option strips any leading digit-dot sequences from heading text before applying new numbers. Re-run the tool as many times as needed without accumulating duplicate prefixes. Toggle it off if your headings contain intentional leading numbers (e.g., '10 Downing Street').
For broader formatting cleanup, see the Free Markdown Formatter.
Code Block Safety
Fenced code blocks (``` and ~~~) are tracked and skipped. Headings inside code examples, shell comments, or Python docstrings are never numbered. Only real ATX-style headings at the document level are processed.
For renaming terms across the document (outside code blocks), try Free Markdown Find & Replace.
How To Use Free Markdown Auto-Number Headings
Step 1 — Paste your Markdown
Drop a document with multiple heading levels into the input. Click Load example for a typical structure.
Step 2 — Configure numbering
Adjust start level, max level, separator, and the remove-existing toggle.
Step 3 — Copy the numbered output
Every heading in range now has a hierarchical number prepended.
Who Can Use This Tool
Technical writers authoring specs
Number RFC-style sections automatically so cross-references stay consistent.
Educators building course outlines
Add chapter and section numbers to lesson plans in one pass.
Legal drafters structuring contracts
Apply hierarchical clause numbering to Markdown-drafted agreements.
Documentation teams maintaining large guides
Re-number after restructuring without manually updating every heading.
Students organizing thesis chapters
Number chapters, sections, and subsections for academic formatting.
Frequently Asked Questions
Is this Auto-Number Headings tool free?
Yes. Free forever, no account required.
What numbering format does it use?
Hierarchical dot-notation by default: 1, 1.1, 1.1.1. The separator is configurable.
Can I number only H2 and H3?
Yes. Set Start level to 2 and Max level to 3.
Does it handle existing numbering?
Yes. The Remove existing option strips old numbers before applying new ones.
Does it touch code blocks?
No. Fenced code blocks are skipped entirely.
Is my Markdown uploaded?
No. Runs 100% in your browser.
Related Free Markdown Tools