JSON Canvas Viewer: open .canvas files online
Drop a .canvas file below and the whole board appears in a few seconds: text cards,
groups, colors, and the arrows between them. JSON Canvas is the open format behind Obsidian Canvas,
and this viewer reads it directly in your browser. Nothing is uploaded, there is no account, and you
do not need Obsidian installed.
No file handy? Load a small example board.
🔒 Your files are parsed, rendered and packed into ZIPs in your browser. Nothing is uploaded.
How it works
- 1Choose or drop your
.canvasfile(s). - 2The board is parsed and drawn instantly — in your browser.
- 3Export it as a PNG or SVG image. Nothing is uploaded.
What is a JSON Canvas file?
A JSON Canvas file is a plain-text JSON document with two lists. nodes holds every
card on the board, each with a position, a size and, optionally, a color. edges holds
the connections: which card an arrow starts from, which card it points to, which side of each card
it attaches to, and an optional label.
Obsidian created the format for its Canvas feature and released it as an open specification, JSON Canvas 1.0, under the MIT license at jsoncanvas.org. Because it is ordinary JSON, other apps can read and write it, and you can open a file in any text editor. A text editor shows you coordinates, though, not a board. That is the gap this viewer fills.
It is not related to Canva, the design app, or to Canvas GFX. If your file came from either of those, it is a different format and this tool will not open it.
View an Obsidian Canvas without Obsidian
Every board you build with Obsidian’s Canvas feature is saved as a .canvas file in your
vault. That file is what people share: attached to an email, committed to a Git repository, dropped
into a shared drive or a chat. If you are on the receiving end and do not use Obsidian, or you are on
a work computer where you cannot install it, there is no easy way to look at it.
Open it here instead. You do not need the vault, any plugins or an account. The board is drawn with the layout, colors and groups its author set up, so you see the same structure they saw. To keep a copy or pass it on, export it as a PNG image or an SVG file.
One limit to know about: cards that embed a note, an image or a PDF from the vault store only the
file’s path. The content stays in the vault and is not inside the .canvas file, so those
cards appear as labelled placeholders. Text cards are stored in the file itself, which is why they
always show up.
What gets rendered
| Element | In this viewer |
|---|---|
| Text cards | Drawn with their text. Headings show in bold; bold, italic, code and link markup is shown as plain text; line breaks and list lines are kept. |
| Groups | Drawn as labelled frames behind the cards they contain. |
| Colors | Obsidian’s six preset colors and custom hex colors, on cards, groups and arrows. |
| Arrows | Drawn between the sides the file specifies, with arrowheads at one or both ends and their labels. |
| File cards (notes, images, PDFs) | A placeholder showing the file path. The file’s content is not part of the .canvas file. |
| Link cards (web pages) | A placeholder showing the URL. The page itself is not fetched. |
Open several boards at once
You can select or drop more than one .canvas file. Each board gets its own preview and
its own download buttons, and the files are processed one after another so a large board does not
freeze the page. When two or more boards are ready, a single button downloads all of them as PNGs in
one ZIP file, built on your device.
If a file is broken, for example a text card is missing its text, the viewer tells you what is wrong instead of guessing. You can choose to open it anyway with empty placeholders; a warning stays on screen, and your original file is never changed.
Private by design
The viewer is a static web page. Your file is read with the browser’s File API, parsed as JSON and drawn on a canvas element, all inside the tab you have open. No file content, file name or board text is sent to a server. The site counts anonymous events, such as how many boards were rendered and how long it took, without cookies and without any of your content.
Export a board as an image
Need a picture of the board rather than the board itself? The
JSON Canvas to PNG converter makes a high-resolution image for
slides, documents and chat. The JSON Canvas to SVG converter makes
a vector file that stays sharp at any size and can be edited in Figma or Inkscape. For background
reading, the blog explains what a .canvas file is and how to open an
Obsidian Canvas without Obsidian.
FAQ
Can I open a .canvas file without Obsidian?
Yes. Drop it on this page. The file is read and drawn in your browser, so you need neither Obsidian nor the vault it came from.
Is my file uploaded?
No. Parsing and drawing happen on your device. The file’s content and name are never sent anywhere; the site only counts anonymous usage events, such as file size and how long rendering took.
Why are some cards empty boxes?
File cards and link cards only store a path or a URL. The note, image or web page they point to is not inside the .canvas file, so the viewer draws a placeholder labelled with that path or URL.
Does it work with canvases from apps other than Obsidian?
Yes, as long as the app saves the open JSON Canvas 1.0 format. Several apps listed on jsoncanvas.org, such as Kinopio, Flowchart Fun and OrgPad, can export it.
Can I edit the board here?
No. This is a viewer and exporter. To change the board, edit it in Obsidian or another JSON Canvas app, or edit the JSON in a text editor.
Does it work on a phone?
Yes, in current mobile browsers. Very large boards can run into the phone’s memory limit when you export a 2× PNG; choose 1× or SVG in that case.