LLMs love headings but are sloppy about levels — an # H1 followed straight by a #### H4, inconsistent capitalization, stray trailing hashes. Those gaps break document outlines, hurt accessibility, and look amateurish. This tool rewrites the heading hierarchy so it never skips a level, and optionally tidies capitalization, all in your browser.
How it works
The tool finds every ATX heading (#, ##, …) and walks the document top to bottom. It tracks the current depth and never allows a heading to sit more than one level below its parent: a jump from H1 to H4 is pulled back up to H2, preserving the relative nesting without leaving gaps. It also normalizes the heading syntax — single space after the hashes, no trailing hashes — and can apply Title Case or Sentence case to the text. Non-heading lines pass through untouched.
Options
- Demote leading H1 — useful when the markdown will live under a page that already provides the page H1.
- Capitalization — keep as-is, Title Case, or Sentence case across all headings.
Tips
- Run this as the last step before publishing so manual edits don’t reintroduce jumps.
- Keep a single H1 per page for SEO and screen-reader navigation — enable demotion for embedded snippets.
- The tool only touches heading lines, so code fences and body text are always preserved exactly.