Excalidraw Mind Map

approvedunreviewed

by dzoukr

Edit XMind-style mind maps inside Excalidraw drawings with keyboard shortcuts.

Updated todayMIT

Excalidraw Mind Map

Obsidian plugin that adds XMind-style mind map editing to Excalidraw drawings. Requires the Excalidraw plugin.

Usage

Open a drawing and click New mind map in the floating panel, or run the command "Insert new mind map".

KeyAction
Tab / InsertAdd child
EnterAdd sibling below
Shift+EnterAdd sibling above
Delete / BackspaceDelete the selected topics with their subtopics (the central topic deletes the whole map, if enabled in settings)
Ctrl+C / Ctrl+XCopy or cut the selected topics as a Markdown bullet list
Ctrl+VPaste a Markdown outline or text as subtopics of the selected topic
F2 / SpaceEdit text
Arrow keysMove selection (right/left = child/parent, mirrored on the left side)
Alt+Up / Alt+DownMove the topic up or down among its siblings
Alt+Left / Alt+RightPromote or demote the topic (toward or away from the central topic, mirrored on the left side)
Ctrl+/ (Cmd+/ on Mac)Collapse or expand the topic

Key Features

⌨️ Keyboard-first editing

Build a whole map without touching the mouse, with the shortcuts you know from XMind. Add children and siblings, edit text, delete branches, move between topics and reorder them. While editing, Enter commits the text and Tab commits it and adds a child.

📐 Automatic layout

The two-sided map re-arranges itself after every change. Drag a topic anywhere: it keeps its new place and its subtopics follow. The layout menu in the panel refreshes the layout, resets it to the automatic positions, or resets the whole map with Reset all.

🧩 Summaries, boundaries and relationships

Select sibling topics to add a summary, a topic behind a brace that spans them. Or add a boundary, a dashed frame with a title around them. A relationship is a curved, labeled arrow between any two topics, even in different maps, and it stays attached when the topics move.

🪗 Collapse and expand

Ctrl+/ collapses a topic with everything below it. A badge shows how many topics are hidden, and clicking it expands the topic again. On the central topic, it collapses or expands all main topics at once.

↔️ Promote and demote

Alt+arrow moves a topic, with its subtopics, one level up or down. A topic that becomes a main topic takes the next branch color, and one that moves under another branch takes that branch's color.

📝 Markdown outlines

Ctrl+C copies the selected topics as a Markdown bullet list, ready to paste into a note. Ctrl+V pastes bullet lists, numbered lists or headings back as subtopics of the selected topic. A command builds a whole new map from the outline in the clipboard.

🔗 Links to notes

Type [[ in a topic to open Excalidraw's link suggester for notes, headings, blocks and tags. Ctrl+click the topic to open the note. Links are kept when topics are copied as Markdown and pasted back.

🎨 Your colors

Pick the colors of the central topic, branches, summaries, boundaries and relationships in the settings. Reset all restyles existing maps with them.

📱 Works on mobile

A floating panel at the bottom of the drawing offers every action. On phones and tablets you can build maps without a keyboard.

✏️ Still plain Excalidraw

Maps are ordinary Excalidraw elements, so every Excalidraw tool still works on them. Every operation is a single undo step. Pause the plugin from the panel when you want Excalidraw's own shortcuts back.

Configuration

All options are in Settings → Excalidraw Mind Map.

SettingDefaultDescription
Show control panel on desktopOnShows the floating panel on desktop. On phones and tablets it is always shown.
Allow deleting the central topicOffLets Delete remove the central topic, which deletes the whole map: every topic and connector.
Arrows instead of linesOffConnectors end in an arrowhead pointing to the subtopic.

Colors are on their own page in the settings, for:

  • the central topic: text, border and background
  • the topic text of main topics and subtopics
  • summaries: text, border and brace, background
  • boundaries: dashed line, background, title text, title background
  • relationships: line and arrowhead, label text
  • branches: line and border, and main topic background. Main topics take the branch colors in turn. Branch colors can be added, removed and reordered, and Reset colors to defaults restores the original palette.

Color and arrow changes apply to topics and connectors created afterwards. To apply them to an existing map, use Reset all from the panel's layout menu or the command palette.

Development

npm install
npm run dev     # watch build, copies into test-vault/.obsidian/plugins/excalidraw-mindmap
npm run build   # type-check + production build
npm test        # layout unit tests
npm run lint    # ESLint with Obsidian's plugin rules

To install into a vault manually, copy main.js, manifest.json and styles.css from the latest release into <vault>/.obsidian/plugins/excalidraw-mindmap/.

License

MIT

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.