AI
AICreate

Markdown to Mind Map

Runs in your browser

Drop a markdown file or paste text. Headings build the spine, section links become cross-edges. Click any node to read its content. Runs entirely in your browser.

What the parser does (and doesn't do)

The parser is intentionally narrow: it scans for ATX headings — the #, ##, ### form, up to six levels — and uses heading levels to build the spine. Body text under each heading is captured and rendered (via marked) into the side panel that slides in when you click a node. Code fences are skipped so a #inside a shell snippet doesn't become a phantom node. Two link styles turn into dashed cross-edges between matching headings: markdown anchor links like [link](#section-slug) and Obsidian-style [[wikilinks]].

Things it does not do, by design: parse Setext-style underlined headings (=== and --- below a line) — most modern docs use ATX. Build nodes from list items — if you want bullets to become nodes, promote them to subheadings first. Crawl across files — wikilinks resolve only against headings inside the pasted document, not your whole vault. The tool runs entirely in the browser on canvas via the open-source force-graph library in radial-out DAG mode; a 200-heading document feels smooth on a mid-range laptop, but very deep nesting (8+ heading levels with thousands of nodes) starts to drop frames during drag. For those, collapse subtrees with right-click before panning around.

How It Works

1

Drop or Paste Markdown

Drag a .md file, pick one with the file picker, or paste raw markdown into the editor.

2

Auto-Build the Graph

Headings become nodes (H1 root, H2 branches, …). Anchor links and Obsidian-style wikilinks become dashed cross-edges.

3

Explore & Export

Click a node to read its section. Right-click to collapse a subtree. Export as PNG or JSON.

Frequently Asked Questions

What markdown features does it understand?

ATX headings (#, ##, ###, …) build the tree. Anchor links like [Section](#section) and Obsidian-style [[wikilinks]] become cross-edges between matching headings. Code fences are skipped so #'s inside them don't get misread as headings.

Does my file leave the browser?

No. Parsing, rendering, and export all happen client-side. Nothing is uploaded.

What if my file has no H1, or has multiple H1s?

If there's exactly one H1 it becomes the root. Otherwise the title field at the top of the page is used as the root, and all top-level headings hang off it as siblings.

How do I read a section's content?

Click any node — the content under that heading slides in as a side panel rendered as HTML. There's also a copy-as-markdown button.

Can I rearrange or hide parts of the graph?

Yes. Drag any node to reposition it. Right-click a node to collapse its subtree (right-click again to expand). Scroll to zoom, drag the background to pan.

Built With Open Source

Related Tools