Miro Canvas

approvedunreviewed

by nix

Add sticky notes, shapes, drawing tools, comments and layers to Canvas. Export boards to PDF and PowerPoint.

↓ 141 downloadsUpdated 6d agoMIT

Miro Canvas

A visual workspace for your Obsidian notes, with Miro-style tools.

Plan with sticky notes, sketch diagrams, draw and leave comments — all on Obsidian's own Canvas. Bring in notes and attachments from your vault and connect them with arrows. Your board stays a local .canvas file.

Русский · Install · Get started · User guide · Releases

Create a sticky note, add an Obsidian note and connect them with an arrow

What you can do

TaskTools
Plan and organizeSticky notes, text, shapes, flowcharts and frames that move with their contents.
Use your notesVault notes, [[links]], embeds, images, PDFs, code blocks and Markdown tables.
Connect ideasStraight, elbowed and curved arrows with labels; attached lines follow the cards.
DrawPen, highlighter, smart shape recognition and whole-stroke or partial erasers.
Discuss and reviewComment threads, replies, resolved comments, item locks and board review mode.
Make it yoursFonts, colors, light/dark board themes, movable panels, tool order, search and a minimap.
Share the resultPDF and PowerPoint export with pages you arrange yourself or create from frames.

Panels and tool choices are remembered separately for computers, tablets and phones. Android supports touch navigation, stylus drawing and optional finger drawing. The interface is available in English and Russian.

See drawing and erasing

Draw a stroke and erase it

Drawing tools and shortcuts

See how to arrange the panels

Move and turn the toolbar

Panel layout, themes and fonts

See light and dark board themes

Switch the board theme and keep your card colors

See PDF and PowerPoint export

Arrange pages and save PDF and PowerPoint

Example PDF · Example PowerPoint · Export guide

Open the GIF at full size for small controls.

Export renders an independent board snapshot without screen capture, so you can keep editing or open another board. Files are saved as new vault attachments. Raster PDF/PPTX store a picture per page. The development build adds a Raster / Vector choice for PDF and PowerPoint, while SVG remains a separate, always-vector format. Vector PDF embeds Noto Sans in four styles; source fonts are substituted. Vector PowerPoint stores one SVG per slide with a JPEG fallback for older readers; its text and shapes are not separate native PowerPoint objects. Live web embeds and video are omitted. Modes and checks.

Canvas expansion in 0.3.0

Board appearance: “Obsidian” follows the current Obsidian light/dark theme, even when the device uses another theme. Explicit board Light/Dark choices stay independent. Long board-menu labels wrap inside the menu.

The selection toolbar’s More menu lists labelled actions: layer order, board actions and native Canvas commands, with Delete last.

The Export panel groups page ordering and paper/quality controls, with a scrolling body and persistent Close/output actions. Touch controls and safe-area/keyboard bounds are checked in native Obsidian. Panel checks.

Version 0.3.0 adds the following board workflows. Verification and remaining coverage follow-ups are tracked in the feature plan and integration checks.

FeatureBehavior and limits
Search linked notesBoard search includes Markdown file-card contents and heading/block slices, with match-case and a bounded regular-expression mode.
ConnectionsReverse direction with Reverse connection direction (Flip), select incoming/outgoing/connected lines, or highlight them without changing selection.
Compact groupsCollapse a group for viewing; its real cards, connections and stored positions remain in the file.
Move a selectionMove cards and internal lines to a new board; crossing lines attach to its file card. Undo restores the source selection and retains the new board file.
Board properties and card linksEdit properties, tags and aliases; copy a link or embed for an individual card. Supported metadata integration adds graph, outgoing and backlink data through temporary caches and reversible pane hooks.
Note-property connectionsOptionally generate connections between file cards from note-property links, preserving manual connections.
Shared colors and stylesPrefer a permanent palette across boards while retaining customized local palettes. Apply named, scoped CSS declarations from a restricted subset.
Zoom contentSet content thresholds for text, file, web and Miro cards; selected or edited cards stay readable.
Card cornersSet a radius from 0 to 48 board pixels using a slider or a precise value; zero gives square cards. Diagram geometry stays unchanged.
Shape cornersRectangular figures have equal horizontal/vertical radii in board units. At the minimum zoom configured in plugin settings (200% by default; 0 means any zoom), drag the corner marker with its bidirectional arrow using a finger, pen or mouse; the marker moves with the radius and the live value appears above the held control. Click it for an exact value; disable the controls in plugin settings. New click/drop shapes use the catalogue proportions, while free drawing keeps your dimensions.
CSS snippetsSupported Obsidian snippets are excluded from boards by default. Allow individual installed snippets in searchable settings; normal notes and the selected theme retain their styling.
Viewing and slidesReview hides editing/creation menus; selected web links retain a direct Open link action. Toggle a temporary laser from the viewing dock or slideshow bar. Present slides uses native frames in file order, or export pages when there are no frames. In viewing mode, a finger drag can start on a card or selection to pan the board without changing card positions or history.
Vector PDF/PowerPointChoose Raster or Vector in Export. PDF uses embedded Noto Sans; PowerPoint embeds SVG per slide with an older-reader picture fallback.
Vector exportExport actual shapes, lines and text to SVG, with clipped pages stacked vertically. Intrinsic raster attachments remain images.

SVG references installed fonts and omits cosmetic shadows. Unsupported rich content is refused explicitly, including live/PDF embeds, list markers and complex or rotated HTML text. SVG scope and checks. Snippet isolation supports ordinary selectors and conditional rules, including inheritance and !important. Imports, font-face/keyframe/property definitions, unverified popout styles and layout effects on ancestors outside the board are not fully isolated; unsupported sheets produce a notice and may still apply. Snippet scope and checks.

Board-property/tag search supplements native results for positive conjunctions, such as tag:project [status:"active"]. OR, negation, regex and mixed content/path queries are not supplemented; native search still runs. Property-only backlink rows require an empty backlink filter and open the real board without invented text offsets. Private API shapes, scan limits and unsupported syntax can prevent supplementation. These additions do not make Canvas root properties native Markdown frontmatter.

Windows, tablet and legacy-phone checks cover typed property search and genuine board/note navigation. The SM-A336E/Obsidian 1.12.7 checks also cover gestures, themes and independent exports; that app is below the supported minimum. Phone input distinctions and results.

Behavior, persistence and remaining checks

Installing

Requires Obsidian 1.13.7 or newer. Directory publication is pending; use BRAT or install manually. Windows and Android have real-app checks; iOS, macOS and Linux remain unverified. Test coverage.

With BRAT

  1. In Settings → Community plugins, install and enable BRAT by TfTHacker. Leave restricted mode if community plugins are blocked.

  2. Open the command palette and run BRAT: Plugins: Add a beta plugin for testing (with or without version).

  3. Paste this into Repository, then press Tab:

    NixWrk/Obsidian-Plugin---Miro-Canvas
    
  4. Choose Latest version, keep Enable after installing the plugin selected and press Add plugin.

BRAT manages its own automatic updates. Releases named fonts-… contain font packs; tools-… prereleases contain optional standalone CLI/MCP tools. Plugin releases contain only the three Obsidian files.

Manually

Download main.js, manifest.json and styles.css from the latest release. Put them in <vault>/.obsidian/plugins/miro-canvas/, then enable Miro Canvas in community plugins. Replace these three files to update.

Getting started

  1. Open or create a Canvas board.
  2. Choose Sticky note (N) and click an empty place to write an idea.
  3. Drag a note from your vault onto the board.
  4. Choose Lines and arrows (L) to connect the two cards.
  5. Select a card to change its color, font or shape.

For a guided tour, accept the first-run welcome board, or create it from Settings → Miro Canvas → Getting started → Create the welcome board. It includes editable examples, real notes and sample PDF/PowerPoint files. Creating another copy preserves your existing boards.

Shortcuts work while you are not editing text:

KeyTool
VSelect
TText
NSticky note
SShape
PPen
LLine
CComment
FFrame

Escape puts the tool away. Ctrl + Z / Cmd + Z undoes an action. Continue with the illustrated guide →

Bring in an existing board

  • From Miro: use the separate miro2obsidian converter to create vault files, then open the board with Miro Canvas.
  • From Excalidraw, Enhancing Mindmap, Markmind or Advanced Canvas: choose Import into a board from the file menu or command palette. Review the preview before creating the board; the original file is preserved.

Some styles and layouts are approximated; imported Miro tables lack cell text because the source export does not supply it. Import instructions and limitations.

Your files and privacy

Boards stay in your vault. With the plugin disabled, ordinary Canvas still opens native cards, notes and connections. Plugin styling, drawings, comments and free-standing lines require Miro Canvas to display. Imported Miro source data is preserved when you edit.

Editing works offline. The plugin's only network requests are a GitHub release check at most once a day at startup (you can turn it off) and a font pack download when you press Download. Release checks announce updates without installing them. No account, payment, advertising or telemetry.

Device files, custom fonts and local imports read only the files you select and copy the chosen data into the vault; the plugin does not scan external folders. Website links and embeds can contact their sites through Obsidian. BRAT, Sync and other plugins have their own network behavior.

Line-to-line connections are experimental and off by default. Moving a large selection on boards with thousands of cards can be slow.

Documentation and development

Working on this repository with an AI agent

Start with AGENTS.md and the contributor guide, including the release, font-pack and GIF workflows. Interface work follows DESIGN.md; lint fixes first record affected actions in the regression register.

Development uses Node 22.13+ on supported 22/24/26 lines:

npm ci
npm run check
npm test
npm run build

Agents can use the optional CLI or MCP server and miro-canvas-format skill to read and edit boards. Ready-to-run tools are in the matching tools-0.3.2 companion release and need Node 20+; run them separately, outside the plugin folder. The plugin starts neither.

Source compatibility notes explain retained Node imports for these tools, the .obsidian default for configuration and the command ID that preserves saved hotkeys.

License

MIT · Third-party notices. Optional font packs include their own font licenses.

An independent community project by NixWrk, unaffiliated with Miro or Obsidian.

The plugin bundle stays below5MB for Obsidian Sync Standard. PDF fonts are compressed locally without losing glyphs; external PDF viewer/script loaders are removed during the checked build. Graph/backlinks and property search locally enumerate vault file paths; the Board knowledge switch disables those integration hooks. Clipboard access serves explicit copy/cut/paste, card links and import instructions, with no background clipboard polling or upload. Packaging review and capability scope.

The remaining source-review Node/config warnings refer to standalone CLI/MCP sources, which are absent from the mobile plugin bundle. The tools honor --config-dir; .obsidian is their explicit default. The legacy command ID preserves hotkeys. Version0.3.2 removes deprecated Range.detach from vector export, retaining measured text positions and Stop behavior.

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.