Export Obsidian Canvas files to PNG, SVG, or PDF formats. Uses the Advanced Canvas plugin's built-in export when Obsidian is running, or falls back to Playwright browser-based screenshot capture. Supports single canvas export, presentation slide-per-page PDF export, and batch export. Triggers on: canvas export, export canvas, canvas to png, canvas to pdf, canvas to svg, save canvas as image, screenshot canvas, export presentation.
The Advanced Canvas plugin provides built-in PNG and SVG export with transparency support.
Requirements: Obsidian running with Advanced Canvas installed.
Workflow:
Advanced Canvas: Export as PNGThis is the highest-quality export method — it uses Obsidian's own rendering engine.
When Obsidian is not running or Advanced Canvas is not installed, use Playwright to capture the canvas.
Requirements: Playwright installed (pip install playwright && playwright install chromium)
Workflow:
python3 -c "from playwright.sync_api import sync_playwright; print('ok')" 2>/dev/null && echo "available" || echo "not available"
# Generate HTML from canvas JSON
python3 -c "
import json, sys
canvas = json.load(open(sys.argv[1]))
# ... render to HTML with absolute positioning ...
" [canvas_path] > /tmp/canvas-preview.html
# Screenshot with Playwright
python3 -c "
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch()
page = browser.new_page(viewport={'width': 1920, 'height': 1080})
page.goto('file:///tmp/canvas-preview.html')
page.screenshot(path='[output_path]', full_page=True)
browser.close()
"
When neither method is available:
Print key for screenshot tool.Cmd+Shift+4./canvas export png [output_path])main.canvas).[canvas_dir]/exports/[canvas-name].png/canvas export svg [output_path])page.screenshot(type='svg') — note: Playwright doesn't natively export SVG. Fall back to PNG./canvas export pdf [output_path])For standard canvases:
convert [png] [pdf] (ImageMagick).For presentation canvases:
convert slide-1.png slide-2.png slide-3.png output.pdf
Exports go to [canvas_dir]/exports/ by default:
wiki/canvases/exports/.canvases/exports/Create the directory if it doesn't exist.
convert command)