Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Outline Mindmap

CHCH3k downloads

Minimalist & Intuitive Outline Mind Map: Pure Markdown syntax with zero code pollution in your note files; click-to-navigate with real-time bi-directional sync between mind map and notes.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates9

English · 中文 · 插件介绍(可在 Obsidian 里直接打开的演示笔记)

Turn a Markdown note’s outline into a mindmap with live two-way editing, click-to-locate navigation and customizable styles. The note remains the source of truth; settings stay in the plugin’s data.json, without adding frontmatter, tags or hidden markers.

Outline Mindmap demo

Demos were recorded with an earlier version; layout direction is now under Mindmap → Appearance.

Outline Mindmap demo

  • Obsidian 1.7.2+ · desktop and mobile · v1.3.5
  • The interface follows Obsidian's language: 中文 / English, no setting to touch.

Features

  • Two-way editing: Add, rename, delete and rearrange nodes. Body text moves with its heading; write-back replaces only the affected line range and preserves surrounding content and formatting.
  • Navigation: Locate nodes in a visible note, including Reading view. Search results reveal and highlight matches; undo/redo also works in map-only mode.
  • Note ⇄ map: Switch within the same tab and optionally remember how each note opens.
  • Flexible content: Show headings by default or enable list nodes, with inline formatting, link labels and math.
  • Styles and layout: Customize shapes, colors, fonts, spacing, edges and branch direction, with global/per-note settings, live preview and Cancel.
  • Convenient controls: Keyboard shortcuts, smooth animation, per-note locking, zoom and position memory, and touch pinch/pan.

One map action is one undo. Open editors use native history; map-only views use bounded session history and refuse to overwrite external changes.

Install

Not in the community plugin browser yet, so install manually:

  1. Download main.js, manifest.json and styles.css from the Releases page — those three files are the whole plugin.
  2. Put them in <your vault>/.obsidian/plugins/outline-mindmap/
  3. Enable Outline Mindmap under Settings → Community plugins

main.js is a build artifact and is not committed here, so cloning the repository is not a shortcut to installing — build it, or take the release.

Building from source:

npm ci
npm run build     # type-check + bundle into main.js

Usage

Four ways to open the map:

  • The mindmap icon in the left ribbon → opens in the right sidebar
  • Command palette → 打开导图 (Open mindmap) → opens as a tab in the main area
  • Command palette → 在侧边栏打开导图 (Open mindmap in the sidebar)
  • A note's ⋯ menu → 打开为导图 (Open as mindmap): the current tab turns into a map in place (right-clicking a note in the file explorer offers the same item)

Use Open as note in the map’s menu to return within the same tab, restoring the previous Reading/Editing mode.

  • Separate map views: Use Open mindmap for a tab or Open mindmap in sidebar for the sidebar. Each has its own follow settings.
  • Per-note maps: Open as mindmap converts the note’s tab in place and stays on that note. The opening form can be remembered; form changes do not enter tab history.

In map-only mode, a node click selects it without opening a note. To read prose alongside the map, use the sidebar or a split pane. Click-to-locate only scrolls a note that is already visible.

How a note becomes a map

In the note Level in the map
# Heading … ###### Heading Levels 1–6
- list item (one level = 4 spaces or one tab of indent) Level 7 and deeper (can be turned off — see Show list items as nodes)
Body paragraphs under a heading Not shown, but move together with their heading
A # inside a fenced code block Not a heading, never appears in the map

Inline markup in node text — **bold**, *italic*, ***bold italic***, ==highlight==, ~~strikethrough~~ — is rendered as such and nests freely. An unpaired * (as in 2 * 3) is plain text and is never swallowed.

Inline math written as $...$ is rendered by Obsidian's own MathJax engine. Math can sit next to ordinary text and other inline markup; malformed expressions fall back to their editable source instead of breaking the map. Display-math blocks ($$...$$) remain note body content.

Links show only the readable part, so paths and URLs cost no node width:

In the note Shown in the map
[[Some note]] Some note
[[folder/target|alias]] alias
[[note#section]], [[#section]] section
[text](https://…) text

Link text is tinted with the theme's link colour but is not clickable — a click in the map already means "jump to the matching line in the note", and competing for the same click would only make it unpredictable.

Keyboard

Key Action
↑ ↓ Previous / next node: siblings first, then out to the enclosing level
→ (the "go in" direction) Expand a collapsed branch, or enter its first child if already expanded
← (the "go back" direction) Collapse an expanded branch, or go to the parent if already collapsed
Enter Add a sibling after the current node
Tab Add a child to the current node
F2 / double-click a node Rename
Delete / Backspace Delete the selected node and its whole subtree
Ctrl/⌘ + Z Undo (also works with only the map open)
Ctrl/⌘ + Shift + Z / Ctrl + Y Redo
Esc Abandon the current edit or drag — not a single character is written
Double-click empty space Create a new free root node
Ctrl/⌘ + click Add to / remove from the selection (for deleting a batch)
Drag a node Reorder: drop on a node's top/bottom edge = insert before / after, drop in the middle = become its child, drop on empty space = become a new root
Wheel Pan; hold Ctrl/⌘ to zoom around the pointer

Left and right on the arrow keys are interpreted relative to the direction the node grows: when a branch runs leftwards, ← is the key that takes you into its children.

Toolbar

Fit to canvas · Zoom out · Zoom in · Expand all · Collapse all · Lock · Mindmap.

Layout direction (branches right / left / both sides) is under Mindmap → Appearance, with the same global and per-note saving, live preview and Cancel behavior as other styles.

The lock remembers your manual choice for each note. A locked map still follows changes made in the note, and allows navigation, pan, zoom, fold/unfold and style changes. It cannot rename, add, delete or rearrange nodes, or undo/redo changes. Reading view forces the map to lock; returning to Editing view restores your manual choice. A visible Reading view of the same note takes precedence if that note is open in several panes. Converting a Reading tab to a pure map keeps its Reading mode; use Open as note to change the note's mode.

Each note remembers its zoom and viewing position, including after a restart. The saved point stays centered when the viewport changes size. If changed content leaves that region empty, the map shows a nearby node at the saved zoom. Folded state remains session-only, so changed layouts are not guaranteed to put the same node in the same place.

On touch screens, use two fingers to zoom and pan. A second finger cancels an unfinished node drag; finishing a gesture does not also click or edit a node. In a locked map, one finger can pan from a node as well as empty space; tapping still selects or locates it.

Branches on both sides splits the root's branches into two balanced columns by subtree size.

Settings

Toggle Default What it does
单击即跳转 (Click to jump) On Clicking a node scrolls the visible note to the matching heading or list item and highlights it in both Editing and Reading view (focus stays on the map); after you create / rename / delete / drag a node, the note also stays at that node. It only scrolls a note that is already visible on screen — it never opens a tab, never splits a pane, never pulls a background tab to the front. Turn it off and a click only selects
Tab mindmap Keep current note Follow, keep the current note, or use separate tabs per note
Sidebar mindmap Follow current note Follow or keep the current note
优雅动画 (Smooth animation) On Nodes and edges move together. Disabled above 250 visible nodes or when the system requests reduced motion
Blank lines between headings (Strict blank lines) Off When enabled, adding / moving nodes pads adjacent headings to 3 blank lines apart
Show numbered / bulleted list nodes Off Control visibility of each list type independently
Deep node format Bulleted list Choose the list syntax for newly written nodes at level 7 or deeper
记住每篇笔记的打开方式 (Remember how each note opens) On A note converted with Open as mindmap opens as a mindmap next time, in whichever tab it appears; Open as note restores it, in the Reading / Editing mode it had when converted. The record lives only in the plugin's data.json and is migrated or cleaned up when the note is renamed, moved or deleted. Switching form does not enter tab history, so Back / Forward move between notes only

Styles — shape, colour scheme, colour by level, font size, horizontal and vertical gaps, branch style (straight / diagonal / elbow) — come in two levels, global and per-note: a note with no style of its own uses the global one. While the style window is open, dragging a slider previews live, and Cancel restores. Per-note styles are keyed by file path and are migrated or cleaned up automatically when you rename, move or delete a note.

Performance

Pan and zoom update a single container transform; edges share one path and node events are delegated. Animation is disabled above 250 visible nodes or when reduced motion is requested.

The repository includes a 1000-node stress note. Automated tests cover parsing, layout and editing; use Performance self-check in Obsidian to measure actual rendering, or Follow self-check to diagnose note-following issues.

Known limitations

  • Text-only maps: no summaries, no free-form connections, no images, no notes.
  • Collapsed state is not persisted; switching notes resets it.
  • Task list items - [ ] are treated as plain text; ordered lists are read fine but written back as -.
  • Multi-select (Ctrl/⌘ + click) is for batch deletion only, not batch drag.

Development

npm run dev        # watch build
npm run typecheck  # strict type-check
npm test           # unit + integration tests

core/ and layout/ contain pure logic without Obsidian imports; doc/ handles document I/O and note-view integration, view/ manages map interaction, and settings/ owns settings, styles and preferences.

To install a dev build into a vault without copying three files by hand every round:

npm run deploy "D:\your vault"   # remembers the target in deploy.json (git-ignored)
npm run deploy                   # afterwards: build + install into the remembered vaults

It overwrites only main.js, manifest.json and styles.css — never data.json, never a note. If the vault already has this plugin under a differently-named folder, it reuses that folder rather than creating a second copy with the same plugin id.

Before publishing, run npm test and npm run build. Keep manifest.json, package.json, package-lock.json and versions.json in sync, then attach main.js, manifest.json and styles.css to the 1.3.5 GitHub release. The tag carries no v prefix — Obsidian looks releases up by the bare version number.

What's new

v1.3.5

  • Opening maps. Follow the active note, keep one note fixed, or open separate map tabs per note. The sidebar has its own follow setting.
  • Node formatting. Render inline code and supported inline HTML colors, superscripts, and subscripts.
  • Lists. Show bulleted and numbered items independently, add either type from the node menu, and choose the Markdown list format for new deep nodes.
  • Appearance. Customize the canvas, connectors, and level colors. Preview changes, restore defaults, and apply them to one note or all notes.
  • Export. Export directly to PNG, SVG, or PDF, with controls for branches, background, padding, image quality, and PDF page size.

v1.3.4

  • Map locking: Remember manual locks per note; Reading view forces locking. Locked maps prevent editing while still showing live note changes.
  • Layout settings: Move branch direction into Style settings, with global/per-note saving, live preview and Cancel.
  • Viewport memory: Restore each note’s zoom and position; show a nearby node if the saved region is empty.
  • Touch improvements: Add pinch zoom and two-finger pan, reduce drag conflicts and accidental clicks, and enlarge toolbar/fold touch targets.

v1.3.3

  • Add map-only undo/redo and search-result navigation/highlighting; refine level colors and node/edge animation.
  • Update default styles and options while preserving existing settings and per-note styles.

v1.3.2

  • Remember how each note opens, distinguish following and pinned maps, and fix stale content after switching notes.
  • Improve in-place conversion and tab history without opening duplicate tabs.

v1.3.1

  • Improve click-to-locate in Reading view and add inline math rendering.

v1.3.0

  • Add Chinese/English UI, optional list nodes and level colors.

See Releases for earlier versions.

License

MIT — see LICENSE.

HealthExcellent
ReviewSatisfactory
About
Create a minimalist, interactive outline mind map directly from your Markdown headings and lists with no extra code left in your files. Sync edits bidirectionally in real time, click nodes to jump to their lines, and drag or multi-select to restructure your notes visually.
OutliningVisualization
Details
Current version
1.3.5
Last updated
2 weeks ago
Created
3 months ago
Updates
9 releases
Downloads
3k
Compatible with
Obsidian 1.7.2+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
CHCHcimuyang
GitHubcimuyang
  1. Community
  2. Plugins
  3. Outlining
  4. Outline Mindmap

Related plugins

Simple mind map

A mind map that combines aesthetics and functionality. 一个颜值与功能并存的思维导图。

Visual Card Writer

Write and navigate Markdown through a visual hierarchy of cards.

mdmap

Edit notes as mind maps with two-way Markdown sync.

Excalidraw

Visual PKM powerhouse. Create and edit Excalidraw drawings.

Advanced Canvas

Supercharge your canvas experience. Create presentations, flowcharts and more.

ExcaliBrain

An interactive, structured mind-map of your Obsidian vault.

Breadcrumbs

Visualise the hierarchy of your vault using a breadcrumb trail or matrix view.

Mermaid Tools

Improved Mermaid.js experience: visual toolbar with common elements and more.

Maps

Adds a map layout to bases so you can display notes as an interactive map view.

Word-Smith

The Ultimate Writing Suite - Write. Organize. Export.