mygems

How to turn a Markdown outline into a mind map

Any indented list is already a tree, so the conversion is a change of view. Here is how to write an outline that imports cleanly, and get one back out.

By uos ·

Any indented list is already a tree. A mind map is a tree drawn differently. So the conversion is not really a conversion. It is a change of view, and every tool that supports it works the same way: one level of indentation becomes one level of depth.

# Product launch
## Positioning
- Who it is for
- What it replaces
## Channels
- App Store
- Newsletter

Import that and you get a centre node with two branches and two children each. No dragging, no layout decisions. Which makes typing the outline the fastest way to build a mind map by a wide margin: faster than drawing one, and much faster than dragging nodes into place.

The two formats worth knowing

Markdown is what you already have. Notes, meeting minutes, an AI's output, a README. Every mind map app that imports anything imports this.

OPML is XML built for outlines, and it is the format to use when the structure matters more than the convenience. It survives round-trips. Export to OPML, edit elsewhere, import back, and the tree is intact. It also carries per-node notes, which Markdown has nowhere to put. It is also what almost every outliner exports, so it is the interchange format between tools.

The practical rule: Markdown to get an outline into a map, OPML to move a map between apps.

Writing an outline that imports cleanly

Four rules cover nearly every import problem.

Pick one indentation convention and hold it. Mixing headings (#, ##) and list indentation in the same document is where importers disagree with each other. Either use headings throughout or use nested bullets throughout. If you must mix, headings for the top two levels and bullets below is the combination that parses most consistently.

Two spaces or four, never both. A tab in a file of spaces creates a level that isn't there, and it is invisible. If a branch imports one level too deep, this is why.

One idea per line, three to five words. Long lines produce a map of paragraphs, which is a document with extra steps. The discipline that makes an outline import into a readable map is the same one that makes a map worth having: labels identify ideas, they don't state them.

Stop at four levels. Anything deeper is unreadable in a radial layout and will need collapsing immediately. If the outline genuinely has six levels, the levels three and below probably want to be a separate map with a cross-link.

Getting a map out of an AI

This is the highest-leverage version of the workflow: ask for the outline, not the map. Every model writes Markdown well and none of them can produce a mind map file you can open.

Produce a Markdown outline of <topic>. Use "#" for the centre, "##" for
top-level branches, and "-" bullets below that, indented two spaces per
level. Maximum four levels. Each line is three to five words, no
sentences, no punctuation at the end. No preamble and no closing text.

The last sentence earns its place: models like to wrap output in "Here's your outline!" and a closing paragraph, and both become stray nodes on import.

Then check three things before importing, because they are the three the model consistently gets wrong: sibling levels that should be children (parallel items pushed one level too high), an unbalanced tree (one branch with twelve children and three with two, which usually means the model ran out of knowledge rather than that the topic is shaped that way), and invented specifics, which is the same warning that applies to every other use.

Mind Map: Smart MindiPhone & iPad · Android

Imports Markdown and OPML, and the outline view runs in both directions: type a list, see a map, edit the map, and the outline follows. Exports back out to Markdown, OPML, PDF, PNG, HTML or plain text, so nothing you import gets stuck.

What it does

The other direction: map to outline

Exporting a map back to Markdown is the step that makes a map useful outside the app, and it is worth doing routinely:

  • A map becomes a document draft. The outline is the section structure, already in order.
  • A map becomes a task list. Markdown checkboxes are what most task tools import.
  • A map becomes portable. A Markdown file is readable in fifty years; a proprietary map file is readable as long as the app exists.

That last point is the real argument for caring about this at all. Markdown and OPML export is the property that decides whether a mind map app is a place to think or a place to lose things, and it is worth checking before you build anything substantial in one.

When the outline is the wrong shape

Two cases where importing produces a bad map and the fix is upstream.

Notes are prose, not structure. Importing a page of sentences gives you a map where every node is a paragraph. Extract first. Pull out the claims, the decisions, the questions, and outline those. The extraction is the actual work; the import is free.

The content is a sequence, not a hierarchy. A process, a timeline, a recipe. These import fine and then look wrong, because a radial layout throws away the order that was the whole point. The fix is the layout, not the outline: switch to a linear or timeline view and the same tree reads correctly.

A note on cross-links

Neither Markdown nor OPML can express a link between two branches, and cross-links are where a lot of a map's value sits. So the import gives you the hierarchy and you add the connections afterwards, by hand.

This is not a limitation to work around. It is a reasonable division of labour. The hierarchy is the mechanical part and should be typed. The cross-links are the part that requires you to have understood the material, and drawing them is how you find out whether you have.

Questions

How do I turn a Markdown outline into a mind map?
Import the file into a mind map app that reads Markdown: one level of indentation becomes one level of depth, so the outline's tree is the map's tree. Keep the indentation consistent, use either headings or nested bullets rather than both, and keep each line to a few words. No manual layout is involved; typing the outline is generally the fastest way to build a map.
Markdown or OPML for mind maps?
Markdown to get an outline you already have into a map, since it is what notes, AI output and documents are already written in. OPML to move a map between applications: it was designed for outlines, it round-trips without losing structure, and it can carry per-node notes, which Markdown has nowhere to put.
How do I get an AI to generate a mind map?
Ask for a Markdown outline rather than a map, and specify the format: '#' for the centre, '##' for top-level branches, indented bullets below, maximum four levels, three to five words per line, no preamble or closing text. Then import that. Models write Markdown reliably and cannot produce a map file you can open, so the outline is the interchange point.
Why did my outline import with the wrong indentation levels?
Usually a mix of tabs and spaces, which is invisible in most editors and creates a level that is not really there. The other cause is mixing headings and list indentation in the same document, which different importers resolve differently. Pick one convention for the whole file.
Can I export a mind map back to Markdown?
Most mind map apps export Markdown, OPML or a plain text outline, and it is worth using routinely, because the exported outline is a document's section structure already in order, or a task list ready to import elsewhere. It is also the property that decides whether your maps are portable, which is worth checking before you build anything substantial in an app.
Do cross-links survive an outline import?
No. Neither Markdown nor OPML can express a link between two branches, so an import gives you the hierarchy and the connections have to be added afterwards. That is a reasonable split: the hierarchy is mechanical and should be typed, while the cross-links are the part that depends on having understood the material.

uos Builds Smart Mind, whose outline view exists because typing a list is still the fastest way to draw a map.