xmind file operator

pending

by shouyu2008

supports functions such as creating, viewing, editing XMind files, and embedding them into Markdown.

3 starsUpdated 19d agoMITDiscovered via Obsidian Unofficial Plugins
View on GitHub

XMinder

An Obsidian plugin for reading, writing, and embedding XMind files directly inside your vault. Powered by mind-elixir.

中文

Introduction

XMinder brings full XMind mind map support to Obsidian. Open .xmind files as interactive, editable mind maps without leaving your note-taking workflow. Changes are auto-saved back to the original .xmind format, keeping your files compatible with the XMind desktop application.

Features

  • File Explorer integration.xmind files appear in Obsidian's file tree; click to open
  • Interactive mind map editor — add, edit, delete, and drag-and-drop nodes with full undo/redo support
  • Multi-sheet support — switch between multiple canvases within a single .xmind file via a dropdown selector
  • Canvas panning — toggle drag mode from the left toolbar to pan the canvas with left-click
  • Auto-save — changes are written back to the .xmind file after a configurable debounce delay (default 500 ms)
  • Manual saveCtrl/Cmd + S saves immediately
  • Markdown embed — use ![[diagram.xmind]] to render a read-only interactive preview inline in any note
  • Markdown link — use [[diagram.xmind]] to create a clickable link that opens XMind view
  • Export to Mermaid mindmap — export mind map as Mermaid format copied to clipboard (can be pasted directly into notes for rendering)
  • Open with XMind app — right-click menu option to open .xmind files with external XMind application (configurable in settings)
  • Theme follow — automatically switches between light and dark themes with Obsidian
  • Responsive layout — automatically re-fits the view when splitting or resizing panes
  • XMind format compatibility — supports both content.json (XMind 8+ / ZEN) and legacy content.xml formats
  • Cross-platform — works on macOS, Windows, Linux, and Obsidian Mobile

Usage

Opening an XMind file

  • click any .xmind file in the file explorer
  • Right-click a .xmind file → Open as XMind (opens with external XMind app, configurable)
  • Right-click a folder → Create New XMind Mindmap (creates a new XMind file in the selected folder)
  • Run the command: XMinder: Create new XMind file

Embedding in a Markdown note

# Inline read-only preview (click to open full editor)
![[my-diagram.xmind]]

# Clickable link that opens the XMind view
[[my-diagram.xmind]]

Export to Mermaid Mindmap

The exported Mermaid mindmap format can be pasted directly into notes, and the Mermaid plugin will automatically render it as a visual mind map:

mindmap
  root(("Central Topic"))
    Main Topic 1
      Subtopic 1
      Subtopic 2
    Main Topic 2
      Subtopic 3

Toolbar

Left toolbar (top-left corner):

ButtonDescription
Hand / PointerToggle canvas drag mode
CrosshairCenter and focus on root node
Question markShow keyboard shortcuts

Right-bottom toolbar:

ButtonDescription
Zoom outDecrease zoom level
Zoom inIncrease zoom level
ResetFit diagram to view and center
FullscreenToggle fullscreen mode

Keyboard Shortcuts

ShortcutAction
TabAdd child node
EnterAdd sibling node
Ctrl+CCopy
Ctrl+VPaste
Ctrl+ZUndo
Ctrl+SSave

Commands (Command Palette)

CommandDescription
XMinder: Create New XMind FileCreates a new blank .xmind file and opens it
XMinder: Export XMind as Mermaid MindmapExports as Mermaid mindmap to clipboard (can be pasted directly into notes for rendering)
XMinder: Fit XMind ViewResets zoom and centers the diagram
XMinder: Save XMind FileSaves immediately

Settings

Open Settings → Community Plugins → XMinder:

SettingDefaultDescription
Auto-save Delay500 msTime to wait after the last edit (milliseconds) before auto-saving the .xmind file. Set to 0 to disable auto-save.
Embed Preview Height320 pxHeight of embedded mind map previews (in pixels) when using ![[file.xmind]] in notes.
Show "Open with XMind" menuOnShow "Open with XMind" in the file context menu to open .xmind files with the external XMind application. Recommended if XMind app is installed.

Build & Deployment

Prerequisites

ToolMinimum version
Node.js16.x
npm7.x

Project Structure

obsidian-xminder/
├── src/
│   ├── main.ts                  # Plugin entry point
│   ├── settings.ts              # Settings definition and UI tab
│   ├── xmind/
│   │   ├── types.ts             # Internal type definitions
│   │   ├── parser.ts            # .xmind → XMindData (ZIP + JSON/XML)
│   │   └── serializer.ts        # XMindData → .xmind (ZIP)
│   ├── views/
│   │   └── XMindView.ts         # FileView with mind-elixir renderer + custom layout
│   └── markdown/
│       └── EmbedProcessor.ts    # ![[]] / [[]] post-processor
├── dist/                        # Production build output
│   ├── main.js
│   ├── manifest.json
│   └── styles.css
├── styles.css                   # Source stylesheet
├── manifest.json                # Obsidian plugin manifest
├── package.json
├── tsconfig.json
└── esbuild.config.mjs           # Build configuration

Install Dependencies

npm install

Development Build (watch mode)

npm run dev

To test with Obsidian, symlink the plugin folder into your vault:

ln -s /path/to/obsidian-xminder \
  "/path/to/your/vault/.obsidian/plugins/obsidian-xminder"

Then enable the plugin in Settings → Community Plugins and reload Obsidian after each change (Cmd+R / Ctrl+R).

Production Build

npm run build

Output in dist/:

dist/
├── main.js        # Bundled plugin (all dependencies inlined)
├── manifest.json
└── styles.css

Clean build (removes dist/ first):

npm run build:clean

Deployment (Manual Install)

  1. Build the plugin:

    npm install && npm run build
    
  2. Copy to your vault:

    mkdir -p "<your-vault>/.obsidian/plugins/obsidian-xminder"
    cp dist/{main.js,manifest.json,styles.css} \
      "<your-vault>/.obsidian/plugins/obsidian-xminder/"
    
  3. Enable the plugin in Settings → Community Plugins

Key Dependencies

PackagePurpose
mind-elixirInteractive mind map renderer
jszipRead/write .xmind ZIP archives
obsidianObsidian plugin API
esbuildBundler
typescriptType checking

Platform Support

PlatformStatus
macOS✅ Fully supported
Windows✅ Fully supported
Linux✅ Fully supported
Obsidian Mobile (iOS / Android)✅ Supported

XMind File Format

.xmind files are ZIP archives. This plugin reads and writes:

EntryFormatVersion
content.jsonJSON array of sheetsXMind 8+ / ZEN (preferred)
content.xmlXML documentLegacy (read-only)
metadata.jsonJSONWritten on save

Files in content.xml format are upgraded to content.json on first save.

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.

xmind file operator | SimilarPlugins