XMind to Canvas

pending

by wllzhang

Convert XMind files to JSON Canvas format for seamless mind map integration.

ā˜… 80 starsUpdated 2mo agoMITDiscovered via Obsidian Unofficial Plugins
View on GitHub

XMind to Canvas

License: MIT npm version Build Status

Convert XMind mind map files to JSON Canvas format for seamless integration in Obsidian.

JSON Canvas Format: This tool converts XMind files to the JSON Canvas format, an open file format for infinite canvas data originally created for Obsidian. JSON Canvas files use the .canvas extension and can be used in any app that supports the format.

Features

  • šŸ“Š Convert XMind files (.xmind) to JSON Canvas format (.canvas)
  • šŸŽØ Automatic layout calculation using professional graph layout engine
  • šŸ”„ Support for multiple XMind versions (legacy, Zen, 2020+)
  • šŸŽÆ Right-click context menu for easy conversion (plugin only)
  • ⚔ Command palette integration (plugin only)
  • 🌐 Web version available - no installation required

Usage

Option 1: Obsidian Plugin

Install from the Obsidian BRAT plugin(Recommended):

  1. Instal BRAT plugin
  2. Add this repository: https://github.com/wllzhang/xmind-to-canvas
  3. File Menu: Right-click any .xmind file → Select "Convert to Canvas"

Install from the Obsidian Community Plugins marketplace(Future Adding):

  1. Command Palette: Press Ctrl/Cmd + P → Search "Convert XMind to Canvas" → Select file
  2. File Menu: Right-click any .xmind file → Select "Convert to Canvas"

Install Manually:

  1. Download the latest release from GitHub Releases
  2. Extract files to <vault>/.obsidian/plugins/xmind-to-canvas/
  3. Reload Obsidian and enable the plugin in Settings → Community Plugins

Option 2: Web Version (No Installation Required)

Use the standalone web version directly in your browser:

🌐 Open GitHub Pages

Simply upload your .xmind file and download the converted .canvas file. All processing happens in your browser - no data is uploaded to any server.

Option 3: NPM Package (For Developers)

Install as a dependency in your Node.js project:

npm install @wllzhang/xmind-to-canvas

Quick Start:

import { convertXMindToCanvas } from '@wllzhang/xmind-to-canvas';
import fs from 'fs/promises';

// Convert XMind file to Canvas format
const xmindBuffer = await fs.readFile('example.xmind');
const { canvasData } = await convertXMindToCanvas(xmindBuffer);

// Save as JSON Canvas file
await fs.writeFile('example.canvas', JSON.stringify(canvasData, null, 2));

For detailed API documentation, see API.md.

Development

npm install          # Install dependencies
npm run dev          # Development mode with watch
npm run build        # Production build (Obsidian plugin)
npm run build:web    # Build web bundle (for GitHub Pages)
npm test             # Run tests
npm run lint         # Lint code

Version Management

Versions are centrally managed:

  • Plugin version: package.json
  • Min app version: versions.json (maps plugin versions to Obsidian versions)
  • Manifest: Auto-synced during build

Contributing

See CONTRIBUTING.md for guidelines.

License

MIT - See LICENSE for details.

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.