Focus.AI Labs / Embeddable Whiteboards

Field Report — May 14, 2026

Embeddable Whiteboards

Miro, tldraw, Excalidraw, and more — what they are, how they compare, and how to drop one into your own site.

You want a collaborative canvas in your app — a place where users can sketch, diagram, stick notes, and brainstorm together. But which tool do you embed? This report breaks down the landscape.

What is Miro?

Miro is the dominant SaaS collaborative whiteboard platform. Think of it as Figma for brainstorming — infinite canvas, sticky notes, diagrams, mind maps, templates, and deep integrations (Jira, Slack, Notion, Confluence).

Key facts:

Embedding Miro: Miro has an official embed mode via <iframe> or a JavaScript SDK. You can embed a specific board (read-only or editable) into any webpage. The Miro Developer Platform also supports custom apps and widgets.

<!-- Miro iframe embed -->
<iframe src="https://miro.com/app/live-embed/BOARD_ID/"
  width="100%" height="600"
  allow="clipboard-read; clipboard-write">
</iframe>

Caveats: Paid plan needed above the free tier. Users need a Miro account to edit embedded boards. The embed feels like "someone else's app in a box."

What is tldraw?

tldraw is an open-source whiteboard library that you can drop into any web app as a native component — not an iframe, not a separate platform. It's the opposite of Miro's approach.

Key facts:

Embedding tldraw: Install one npm package and you get a fully functional whiteboard component that renders into your own DOM. It's your code, your data, your users.

npm install tldraw
import { Tldraw } from 'tldraw'
import 'tldraw/tldraw.css'

function MyCanvas() {
  return (
    <div style={{ width: '100%', height: '600px' }}>
      <Tldraw />
    </div>
  )
}

Real-time collaboration: tldraw has tldraw sync (paid) — a managed backend for multiplayer. Or roll your own sync with Yjs/WebSocket. tldraw stores state as JSON snapshots you can persist wherever you like.

Also worth knowing: tldraw has make-real — an experimental AI feature that turns drawings into working UI code (HTML/Tailwind). Fun, but not production-ready.

Miro vs tldraw

Dimension Miro tldraw
Nature Full SaaS platform Open-source embeddable library
Embed approach iframe / URL link npm package, native React component
User accounts needed Yes (Miro account to edit) No — your app controls auth
Data ownership Stored on Miro servers Full control (JSON snapshots)
Real-time collab Built-in, all plans Via tldraw sync (paid) or self-hosted Yjs
Integrations 160+ (Jira, Slack, etc.) None — you build what you need
Customization Limited (branding, templates) Full — shapes, tools, UI, behavior all extensible
Pricing Free tier; $10+/mo/seat Free (core); sync is $25/mo or self-host
Best for Teams needing a turnkey workspace with integrations Developers embedding a canvas into their own product
Bottom line: Miro is a product. tldraw is a component. If you want a whiteboard in your app that feels like your app, tldraw wins. If you want a collaborative workspace where you don't own the infrastructure, Miro wins.

Other Tools Like These

The landscape of visual collaboration tools breaks into two camps: SaaS platforms (turnkey, multi-feature) and embeddable libraries (drop-in components). Here's the full field:

SaaS Platforms (Miro's world)

Mural

SaaS iframe embed

Miro's closest competitor. Strong on facilitation — timers, voting, private mode. Iframe embed is available on Business plan ($17.99/mo). Used heavily in design sprints and workshops.

FigJam

SaaS iframe embed

By the Figma team. Sticky notes, stamps, music, voting, widgets. Free for up to 3 files. Embed via Figma's iframe. Best if you're already in the Figma ecosystem — your Figma components and libraries carry over.

Lucidspark

SaaS iframe embed

Lucid's Miro/Mural competitor. Lighter than Miro but with that polished Lucid feel. Pairs with Lucidchart for the formal diagramming side.

Whimsical

SaaS

Beautiful mind maps, flowcharts, wireframes, and sticky notes. Less of a "whiteboard" and more of a structured diagramming tool with a clean aesthetic. Stellar keyboard UX. No embed mode for non-enterprise plans.

Canva Whiteboard

SaaS embed (enterprise)

If you're already on Canva, the whiteboard is decent — infinite canvas, sticky notes, Canva assets. Embed is enterprise-only.

Embeddable / Open-Source Libraries (tldraw's world)

Excalidraw

Open Source npm / iframe

Hand-drawn style, lightweight, E2E-encrypted collaboration via excalidraw.com. Can embed as iframe or install via @excalidraw/excalidraw npm package. 85K+ GitHub stars. Dead simple API — render a whiteboard in one React component. No account required for the hosted version.

npm install @excalidraw/excalidraw

import { Excalidraw } from '@excalidraw/excalidraw'

// Use directly as a React component
<Excalidraw
  initialData={{ elements, appState }}
  onChange={(elements, state) => saveState(elements)}
/>

When to pick over tldraw: You want the hand-drawn aesthetic. You need E2E encryption out of the box. You want the simplest possible drop-in.

draw.io (diagrams.net)

Open Source npm / iframe

The veteran. Excellent for formal diagrams (flowcharts, UML, ERDs) but less of a freeform whiteboard. Embeddable via draw.io iframe integration or the mxGraph library underneath it. Great if your use case is structured diagrams rather than brainstorming.

Penpot

Open Source

Open-source Figma alternative. Not a whiteboard per se — it's a full design tool — but includes a whiteboard mode for brainstorming. Self-hostable. Web-based, SVG-native. Worth watching but heavier than Excalidraw/tldraw for simple canvas needs.

Obsidian Canvas

local-only

If your users are in Obsidian, Canvas (.canvas JSON files) gives them an infinite canvas with cards, arrows, and embedded notes. Not embeddable externally, but notable if you're building anything Obsidian-adjacent.

How to Embed: Decision Matrix

Your Need Best Tool Embed Method
Turn-key collaborative workspace, non-technical team Miro iframe / SDK — but users need accounts
Freeform canvas inside your React app, own data tldraw npm install tldraw — native React component
Hand-drawn sketches, E2E encryption, zero-config Excalidraw npm install @excalidraw/excalidraw or iframe
Formal diagrams (UML, flowcharts, ERDs) draw.io iframe embed or mxGraph library
Figma-native, already in Figma ecosystem FigJam Figma embed iframe
Structured mind maps & flowcharts Whimsical Link sharing (no iframe on free)
Self-hosted, needs auth/SSO control Excalidraw or tldraw npm package + your own backend

How to Embed in Your Stuff

Here's the practical playbook for getting any of these into your site.

Option A: Quick iframe (any site, any framework)

Works with Miro, FigJam, Lucidspark, and Excalidraw embed. Simple but limited — the whiteboard is a black box.

<!-- Excalidraw embed (no account needed) -->
<iframe src="https://excalidraw.com/?embed=1&theme=light"
  width="100%" height="500px">
</iframe>

Option B: npm package (React apps)

Works with tldraw, Excalidraw, draw.io. Full control. The whiteboard renders as part of your DOM, responds to your theme, stores data your way.

// tldraw — full-featured whiteboard
import { Tldraw } from 'tldraw'

// Excalidraw — hand-drawn style
import { Excalidraw } from '@excalidraw/excalidraw'

Option C: Headless / custom rendering

If you need to render whiteboard content without the editing UI (e.g., display saved diagrams), tldraw and Excalidraw both export their state as JSON. You can render the shapes yourself or use their static renderers.

// tldraw — get snapshot data
const editor = useEditor()
const snapshot = editor.store.getSnapshot()
const json = JSON.stringify(snapshot)

// Restore later
editor.loadSnapshot(JSON.parse(json))

Option D: Embed with collaboration

For real-time multi-user:

Quick Start: Which One Should You Pick?

Pick tldraw if…

You're building a web app and want a whiteboard that looks and feels like your app. You need full data ownership. You're in React. You don't mind managing persistence yourself (or paying for tldraw sync).

Pick Excalidraw if…

You want the simplest possible drop-in whiteboard with a distinctive hand-drawn look. You care about E2E encryption. You don't need extensive custom tools or shapes. Smaller bundle size than tldraw.

Pick Miro / FigJam if…

Your users need a full collaborative workspace with integrations, templates, and facilitation features. You don't want to build or maintain the whiteboard infrastructure. Your users already have accounts.

For your use case (Focus.AI / Umwelten): tldraw is probably the sweet spot. Drop it into a Next.js page, store the JSON snapshots in your own database or localStorage, and your users get a whiteboard that's truly part of your app — no redirects, no separate accounts. If you want something lighter with encryption, Excalidraw is your second call.

Links & Resources