Utilities · Free Tool

OPML & FreeMind (.mm) to Mind Map

Drop in an outline export from Workflowy, Dynalist, OmniOutliner or Logseq, or an old FreeMind map, and see it drawn as a mind map in seconds.

Loading tool…

Outliners and mind-mappers store the same thing, a tree of ideas, but they rarely open each other's files. If you have an OPML export from Workflowy, Dynalist, OmniOutliner or Logseq, or a `.mm` file from FreeMind or Freeplane that nothing on your current computer will open, this tool draws it as a mind map right in your browser.

Drop the file in, or paste a Markdown bullet list or an indented outline. Notes attached to topics come along, so you can click a topic to read its note. You can fold and unfold branches, switch between left, right and balanced layouts, and export the result as PNG, SVG, Markdown or OPML. The file is parsed on your own device and never uploaded.

Give your old outlines a canvas

OmniCanvas turns an imported outline into a map you can keep editing on an infinite canvas, next to your notes, sketches and links, and synced across your devices. Free to start.

Sign up free

No credit card · 30 days free

What's inside an OPML file

OPML (Outline Processor Markup Language) is a small XML format Dave Winer created at UserLand in the early 2000s for exchanging outlines. Its structure is minimal: a `<head>` with a title, and a `<body>` holding nested `<outline>` elements. Each outline element carries its text in a `text` attribute, and nesting one outline inside another is how a child topic is recorded.

Outliners add their own details through extra attributes. The common convention is `_note` for the note under a bullet, which is what Workflowy, Dynalist and OmniOutliner use. Workflowy also writes `_complete="true"` for completed items, and this viewer shows those struck through. Because the format is so plain, OPML is the most dependable way to get an outline out of one app and into another.

If you have ever exported your podcast or RSS subscriptions, that was OPML too: feed readers use the same `<outline>` elements with a `title` and an `xmlUrl`. Those files open here as a map of your subscriptions, and each feed's link appears when you click it.

Opening FreeMind and Freeplane .mm files

FreeMind is an open-source Java mind-mapping app that was widely used in the 2000s. Freeplane forked from it and still reads and writes the same `.mm` format. A `.mm` file is also XML: a `<map>` element containing one root `<node>`, with each topic's text in a `TEXT` attribute and child topics nested inside. Some other mind-map services also offer a FreeMind `.mm` download, so the format is useful for moving a map between tools.

Formatted text is stored differently. When a topic has styled text, or has a note, FreeMind writes it as a `<richcontent>` block of HTML: `TYPE="NODE"` for the topic text itself and `TYPE="NOTE"` for the note (Freeplane adds `TYPE="DETAILS"`). This viewer reads that HTML as plain text and never renders it, so a file can't run script or load images in your browser. The saved fold state (`FOLDED="true"`) and each main branch's side (`POSITION="left"` or `"right"`) are kept, so the map opens looking the way it did when it was saved.

Markdown and indented text work too

Plenty of outlines never get exported as OPML. They live in a Markdown note or a plain text file. Paste one in and the structure comes from the text itself. Markdown headings make the upper levels (`#` becomes the centre, `##` the main branches), bullets and numbered items nest by their indentation, and a line of prose under a bullet becomes that topic's note. An outline with no bullets at all nests by indentation, with tabs or any number of spaces.

Checkboxes (`- [x]`) are shown as done, and Markdown links keep their URL, which you can open by clicking the topic. YAML front matter from Obsidian or Logseq pages is skipped rather than drawn as topics.

Getting your map back out

Choose the export that fits where the map is going next. PNG and SVG save the map as you see it, with the same layout and folded branches, which works for slides, documents or printing. SVG stays sharp at any size and can be edited in Figma, Illustrator or Inkscape. Markdown saves the whole tree as a nested bullet list with notes indented under their topics. OPML saves the whole tree with notes in `_note`, so it can go back into an outliner or into any mind-map app that imports OPML.

That also makes this a converter. Open a FreeMind `.mm` file and download the OPML to move a years-old map into a modern outliner, or open an OPML export and download the Markdown to paste it into a notes app. Save to canvas sends the map to OmniCanvas as editable boxes and connectors laid out the same way, so you can keep rearranging it, draw on it and link it to other notes.

Large files and privacy

Everything happens on your device. The file is read by your browser, parsed with the browser's own XML parser, and drawn as an SVG. It isn't sent to a server and isn't stored after you close the tab. The only step that sends anything is Save to canvas, which exists to put the map in your OmniCanvas account.

To keep the page responsive, files up to 5 MB and up to 3,000 topics are accepted. Maps with more than about 150 topics open with only the first two levels expanded, and you can expand any branch or use Expand all. Files that declare XML entities are refused outright. Real outline and mind-map exports never use them, and they are a well-known way to make an XML parser misbehave.

Frequently asked questions

How do I open an OPML file?

Drop it onto this page, or choose it with the file picker. The outline is drawn as a mind map straight away, with its notes attached. You don't need an account or an app. If you want the outline as text, download it as Markdown.

Can I open a FreeMind .mm file without installing FreeMind?

Yes. FreeMind and Freeplane .mm files open here directly in the browser, with notes, links, saved folds and left/right branch positions. You can export the map as PNG, SVG, Markdown or OPML.

Which apps export OPML?

Most outliners do, including Workflowy, Dynalist, OmniOutliner and Logseq, and many mind-map apps import and export it too. Podcast apps and RSS readers use OPML for subscription lists, and those files open here as well.

Is my file uploaded anywhere?

No. The file is read and parsed in your browser and never sent to a server. The only thing that sends data is the optional Save to my canvas button, which moves the map into your OmniCanvas account.

What's the difference between this and the Mind Map Generator?

The Mind Map Generator is for writing a new outline and watching it turn into a map. This tool is for files you already have: OPML and FreeMind/Freeplane exports, or a Markdown outline you paste in. It also adds folding, left/right/balanced layouts and file exports.

Can I convert FreeMind to OPML or Markdown?

Yes. Open the .mm file, then use the OPML or Markdown download. Every topic and note is included, even in folded branches, so nothing is lost when a map moves between apps.

More free tools