By · Founder, Stacktree · Last updated
use case

Share an architecture diagram as private HTML.

Mermaid, D2, Excalidraw, PlantUML, draw.io, hand-coded SVG — all render as HTML. Upload to Stacktree, gate to your team, send the link. Reviewers open it without logging in, and the agent that drew it can replace it in place when the design evolves.

Get started free

How do you share an architecture diagram with your team privately?

Render the diagram to a standalone HTML file — Mermaid Live, D2 export, Excalidraw export, or wrap a plain SVG in a minimal HTML shell — and upload it to Stacktree. The link is private by default; add an email-domain gate for stronger access control. Agents can publish directly via the MCP server, and call update_site to swap the diagram under the same URL when the design changes.

Diagrams that work out of the box

  • Mermaid. Use Mermaid Live → Export HTML, or render server-side with @mermaid-js/mermaid-cli.
  • D2. d2 input.d2 output.svg → wrap the SVG in a one-line HTML file.
  • Excalidraw. Export → "Embed HTML" → save the file.
  • PlantUML / Graphviz. Render to SVG, wrap in HTML.
  • draw.io / diagrams.net. File → Export As → HTML.
  • Hand-coded SVG. Wrap in <!doctype html><svg>…</svg>.

The agent path

If your agent is already drawing the diagram (Claude Code, Cursor, Codex), let it publish too:

You: "Draw the auth flow as Mermaid and publish it as a Stacktree gated to @yourco.com"

Agent:
  1. wrote auth-flow.html
  2. publish_html(file: "auth-flow.html") → https://stacktr.ee/p/...
  3. set_email_gate(slug: "...", domain: "yourco.com")

Replace-in-place for evolving designs

Architecture changes. Instead of sending a new link every time, the agent calls update_site with the same slug — the diagram updates under the URL anyone has bookmarked. The Slack message linking to it picks up the new version on refresh.

What this replaces

  • Confluence pages with embedded screenshots that go stale.
  • "Latest diagram is in this Slack thread" → wrong; it's in that thread.
  • Pasting Mermaid source into PRs and hoping the reader has a Mermaid plugin.
  • Sending a PNG screenshot that loses interactivity and pixelates on retina.
FAQ

Frequent questions

How do I share an architecture diagram with my team without using Confluence? +
Render the diagram to a self-contained HTML file (Mermaid Live, D2 export, Excalidraw export, or a hand-coded SVG inside a minimal HTML wrapper) and upload to Stacktree. The link is private by default; add an email-domain gate for stronger access control.
Which diagram formats work? +
Anything that exports to standalone HTML or SVG. Confirmed: Mermaid, D2, Excalidraw, PlantUML, draw.io, Graphviz, hand-coded SVG, and Claude Code's output of any of the above. Plain SVG works wrapped in a tiny HTML shell.
Can the agent render and publish the diagram for me? +
Yes. Ask Claude Code or Cursor to "draw the architecture as Mermaid and publish it as a Stacktree" — the agent emits the HTML, calls publish_html, and hands you back the URL.
What about interactivity (zoom, pan, node clicks)? +
Embedded JS works because Stacktree serves the HTML file as-is. Mermaid + d3 + cytoscape.js based diagrams all keep their interactivity.
Can the diagram update without me sending a new link? +
Yes — call update_site with the same slug and the diagram swaps under the same URL. Anyone who bookmarked it sees the new version on refresh.
How does this compare to Lucidchart or Figma? +
Lucidchart and Figma are full editing surfaces with comments, multi-cursor, and version history. Stacktree is the read-only publish endpoint — useful when the diagram lives in code (Mermaid, D2) and you just need a viewable, gated URL for it.
Keep reading

Related guides

References

Sources and further reading

Stop pasting Mermaid into Slack.

One upload, one private URL, one source of truth for the diagram.

Sign up free →