Open a canvas, share the link, draw and write together in real time. No signup, no accounts, no teams to set up. Just a URL and an infinite sheet of paper in the browser.
Most whiteboarding tools either want you to sign up, onboard a team and pick a template — or they require you to self-host. cnvs.app sits in the gap: a hosted, zero-friction canvas you can share with a link in under two seconds.
Visit the site, get a unique board URL, send it. Anyone with the link sees the same canvas live — no invites, domains, workspaces or roles to configure.
Strokes, text and pasted images sync instantly over WebSockets through a single Cloudflare Durable Object per board, so there's no lag between collaborators.
One canvas, four ink colours, text, eraser and undo. No template picker, no sidebar of widgets — the interface disappears so the idea doesn't.
Clipboard images (PNG, JPEG, WebP, GIF, SVG) drop straight in — automatically downscaled in the browser before upload and re-encoded to WebP where supported (PNG/JPEG fallback on browsers without canvas WebP encoding), so big phone photos don't burn through the per-board byte quota. Paste a plain URL and it renders as a clickable capsule you can edit later.
Type a diagram, get a diagram. Flowcharts, sequence diagrams, class diagrams, state machines, ER diagrams, Gantt charts, mindmaps and git graphs — all render live from Mermaid source in a text node. No plugin, no add-on.
On phones and tablets the toolbar collapses into a single bottom pill with dedicated undo and hold-to-delete — usable with one thumb, no keyboard required.
One click rasterises the whole board with a light watermark of the share URL and hands you a PDF — great for meeting notes, lesson plans or design review leave-behinds.
No trials, no tiers, no credit card. Everything cnvs.app does today is free for everyone, with no usage caps.
Ideas we're exploring next. Nothing here blocks what you can do today.
Optional password, domain-lock, magic-link and one-time-code access for boards where “share by link” isn't enough.
Keep boards alive beyond the 30-day inactivity window for archives, course materials and long-running projects.
Summarise a board, cluster sticky-style notes, turn rough sketches into cleaner diagrams — opt-in, never trained on your content.
A shared home for named boards with a member list, so recurring teams don't have to bookmark URLs by hand.
Higher per-image and per-board size limits for richer reference material and denser canvases.
An EU-only storage option for organisations with data-residency requirements.
A quick look at where cnvs.app sits against the most common whiteboarding tools. “Free tier” here means a tier you can actually use without a credit card and without hitting paywalls for basic collaboration.
| Capability | CNVS | Miro | FigJam | MURAL | Excalidraw | tldraw |
|---|---|---|---|---|---|---|
| No signup required | ✓ | No | No | No | Yes | For sharing |
| Share by URL instantly | ✓ | After setup | After setup | After setup | Yes | Yes |
| Real-time multi-user sync | ✓ | Yes | Yes | Yes | Plus / self-host | Yes |
| Unlimited free collaboration | ✓ unlimited | No public sharing | 3 files, no public sharing | Read only | 1 scene¹ | Demo² |
| Focused on drawing & writing | ✓ minimal UI | Feature-heavy | Feature-heavy | Feature-heavy | Yes | Yes |
| Clipboard image & URL paste | ✓ both | Both | Both | Images | Images | Both |
| Flowcharts, sequence, ER, Gantt (Mermaid) | ✓ built in | Plugin | Plugin | No | Import only | Via AI |
| Enterprise templates & voting | Out of scope | Yes | Some | Yes | No | Via SDK |
| Price for core collaboration | ✓ $0 forever | $8+/user/mo | $3+/user/mo | $10+/user/mo | $0 hosted¹ $7/mo Plus |
$0 hosted² paid SDK |
Common to all: infinite canvas with pan & zoom, print / PDF export, hosted in the browser with no install.
¹ Excalidraw at excalidraw.com is free without an account but the free tier is limited to a single scene — switching scenes overwrites the current one unless you export to a file first. Excalidraw+ (from $7/user/mo) adds a logged-in workspace with multiple saved scenes, private folders, shape libraries, version history, AI, SSO and custom fonts.
² tldraw.com is described by its makers as “our flagship demo of the tldraw SDK, designed to be a very good free whiteboard. We ship early versions of the SDK to tldraw.com for testing and evaluation.” It is free for end users — draw, share rooms, export — but the product they sell is the tldraw SDK commercial licence, required if you embed tldraw inside your own commercial app.
Competitor data based on publicly-listed plans as of 2026. “Partial” means the capability exists but is limited, behind a signup wall, or requires self-hosting.
Everything below ships on the free tier today.
Strokes, text nodes and images sync instantly across every participant through a single Durable Object per board.
Pan with scroll, zoom with Ctrl/⌘/Shift + scroll or pinch, two-finger drag on touch.
High-definition anti-aliased lines rendered as SVG paths — crisp at every zoom level.
Click anywhere to drop a draggable, editable text block. Idle nodes auto-save after 10 seconds so stray editors never block shortcuts.
Flowcharts, sequence diagrams, class diagrams, state machines, ER diagrams, Gantt charts, user journeys, mindmaps, timelines, git graphs and C4 — all powered by Mermaid, edited as plain text in any text node.
Clipboard images (PNG/JPEG/WebP/GIF/SVG) and plain URLs drop onto the canvas. Links render as clickable capsules.
Radial collision eraser cascades deletes to everyone; Ctrl+Z restores your last local delete and re-broadcasts it.
One click exports the whole board — with your share URL watermark — to a PDF you can save or print.
“Hold to delete” wipes the canvas from the database, broadcasts the erasure live, and reserves the ID for 30 days so stale links don't recycle.
Glassmorphism toggles for day, night and auto — follows macOS and mobile system settings out of the box.
Install cnvs.app to your home screen / dock and every board you open while online stays readable offline — navigate between cached boards from the sidebar, pan and zoom freely. Editing pauses until you reconnect.
Because the tool has no opinion on what it's for, it shows up in very different places.
Pair programming, architecture sketches, API design — open a link, draw boxes, screenshare is optional.
Maths workings, handwriting practice, language drills. Works on iPad with a pencil; students join from a phone.
Rapid idea dumps without fighting template pickers. Paste reference images, cluster, screenshot.
A shared scratchpad for the call. Export to PDF when the call ends and drop it into the meeting notes.
Share one URL, both candidate and interviewer draw on the same surface. No account, no install.
Plan a trip on a shared map, sketch a wedding seating chart, doodle with kids across two phones.
cnvs.app speaks the Model Context Protocol, so AI assistants like Claude Desktop, Claude Code and any MCP-compatible client can read and edit the same board that you and your teammates are looking at — in real time. Strokes and text nodes the AI adds appear instantly for everyone connected, tagged with an ai:<name> author label.
The MCP server is a single HTTPS endpoint that accepts JSON-RPC 2.0 over POST:
https://cnvs.app/mcp
No API key, no OAuth. The board ID is the key — anyone who knows the board ID (the bit after the # in the URL) can read and write to that board, just like any human visitor. Keep your board URLs private if the content is sensitive.
Open Settings → Developer → Edit Config and add a streamable HTTP server entry:
{
"mcpServers": {
"cnvs": {
"type": "http",
"url": "https://cnvs.app/mcp"
}
}
}
Restart Claude Desktop. Ask the model to “open the cnvs board at https://cnvs.app/#<your-id> and add a sticky with today's agenda” and the note will land on the live canvas.
claude mcp add --transport http cnvs https://cnvs.app/mcp
open_boardResolve a cnvs URL or ID; creates the board if it doesn't exist yet.
get_boardFull structured snapshot — ids, coordinates, text content — for precise edits.
get_previewSchematic SVG render (a few kB) so the model can see the layout without blowing up context.
add_textCreate or update a text node. Supports Markdown, Mermaid diagrams, sticky-note style.
add_linkDrop a URL capsule onto the canvas.
add_imagePlace a raster or SVG image from a data URL (capped at ~900 kB).
draw_strokeFreehand stroke from a list of world-coordinate points.
moveReposition an existing text node by id.
eraseDelete a text, stroke or image by id.
cnvs://board/{id}/state.jsonFull JSON snapshot — best for editing. Image base64 payloads are elided. Supports resources/subscribe.
cnvs://board/{id}/preview.svgCompact SVG preview — best for visual orientation. Tiny pixelated image thumbnails embedded when available.
Standard MCP Streamable-HTTP session flow: initialize returns an Mcp-Session-Id header, the client opens GET /mcp with Accept: text/event-stream to hold the notification stream, and resources/subscribe returns a plain JSON result. The server then emits notifications/resources/updated onto the GET stream whenever anyone (human or AI) edits a subscribed board — aggregated into a single event ~3 seconds after activity settles, so a burst of strokes or typing produces one wake-up rather than dozens. Claude Desktop and Claude Code pick this up automatically once the capabilities.resources.subscribe capability is advertised; the assistant sees fresh board state without polling.
cnvs-whiteboard + mcp-listenMost chat-UI MCP clients consume the push inside their session cache but never re-invoke the model on it — so the AI stays blind to edits until the user prompts again. Two Agent Skills close this loop: /cnvs-whiteboard/SKILL.md (primary skill that owns the cnvs.app read/write workflow) and /mcp-listen/SKILL.md (generic listener — runs a tiny @modelcontextprotocol/sdk client under Claude Code's Monitor tool, so each push becomes a real in-chat notification that triggers a fresh model turn). No polling, and an optional author filter (--ignore-author-prefix "ai:") stops the AI from waking itself on its own writes. Install both:
mkdir -p ~/.claude/skills/mcp-listen && cd ~/.claude/skills/mcp-listen
curl -O https://cnvs.app/mcp-listen/SKILL.md \
-O https://cnvs.app/mcp-listen/package.json \
--create-dirs -o scripts/listen.mjs https://cnvs.app/mcp-listen/scripts/listen.mjs
npm install
mkdir -p ~/.claude/skills/cnvs-whiteboard && cd ~/.claude/skills/cnvs-whiteboard
curl -O https://cnvs.app/cnvs-whiteboard/SKILL.md
Skill sources: cnvs-whiteboard/SKILL.md · mcp-listen/SKILL.md · listen.mjs · package.json. mcp-listen works against any Streamable-HTTP MCP server with resources/subscribe, not just cnvs.app — the author filter just falls through on non-board shapes.
curl -X POST https://cnvs.app/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "add_text",
"arguments": {
"board_id": "<your-board-id>",
"x": 200, "y": 160,
"content": "Hello from MCP!",
"postit": true
}
}
}'
/quotas.json for live values.Content-Length and during the streaming read — chunked / header-less clients cannot bypass the cap.Access-Control-Allow-Origin: * on every public HTTP endpoint so browser-based clients can GET snapshots and POST mutations cross-origin without a proxy. Preflight OPTIONS returns 204.-32000 with a human-readable message and the browser surfaces an in-app toast.ai:<label> for AI, user:<uuid> for humans) so the origin of each item is preserved.open_board creates new boards.Privacy is the product. The simplest thing we can promise about your board is: almost nothing happens to it.
We do not use the contents of your boards — drawings, text, pasted images — to train AI models, ours or anyone else's. Your canvas is never handed to a third party for that purpose.
No analytics on what you draw, no content logging, no tracking cookies, no fingerprinting. The service only keeps what it needs to deliver the board to the people you share the link with.
When you hold-to-delete a board, or when it expires after 30 days of inactivity on the free tier, the content is irreversibly destroyed. There is no backup to restore from and no “recycle bin”.
Boards are reachable only via their short URL. No public gallery, no search index, no “explore” feed. If you don't share the link, nobody else can find the board.
Infrastructure runs on Cloudflare — the same edge network trusted by millions of sites for DDoS protection and low-latency delivery. Traffic is TLS-encrypted end-to-end.
cnvs.app is not open source and we don't offer self-hosting. We run the service ourselves so we can make privacy guarantees we can actually enforce.
Yes. cnvs.app is free forever, with no signup and no credit card. Everything you see today — unlimited boards, unlimited collaborators, real-time sync, image and URL paste, PDF export, light and dark themes — is included at no cost.
No. You open cnvs.app, a new board is created instantly, and you can share the URL with anyone. There is no login, no email, no profile, no cookie consent banner, no paywall.
Boards are retained for up to 30 days of inactivity. After that the contents are purged from the database and the short board ID is returned to the pool. "Inactivity" means nobody has opened the board in a browser or fetched its snapshot programmatically (via /json/<id> or the MCP get_board tool) for 30 days — writes alone, unfurl previews and thumbnail fetches do not reset the clock. If you delete a board yourself, the ID stays reserved for 30 days so stale links show an “erased” overlay instead of silently creating a new board. Longer retention is on the roadmap.
Miro, FigJam and MURAL are full enterprise suites — templates, voting, facilitation timers, hundreds of integrations. That is powerful for organised workshops but heavy for a five-minute sketch. cnvs.app is intentionally the opposite: open URL, draw, share. If you need templates, voting and Jira integration, pick Miro. If you just want a shared sheet of paper in the browser, pick cnvs.app.
Excalidraw and tldraw are the closest tools in spirit and both are excellent. The main practical differences: cnvs.app is hosted with zero install, ships real-time multi-user sync on the free tier by default, adds pasted-URL capsules and print-to-PDF with a share-URL watermark, and leans harder on privacy — no AI training on your content, no activity logging, permanent destruction after delete.
Yes. Boards are reachable only by people you share the URL with — no public gallery, no search index. We do not use your content to train AI models. We don't log your activity, don't track you, and don't profile what you draw. Explicit access control (password / domain-lock / magic-link / one-time code) is on the roadmap for cases where “share by link” is not enough.
It is irreversibly destroyed. Hold-to-delete wipes the contents immediately and broadcasts the erasure to anyone currently connected; after 30 days of inactivity a board is purged automatically. There is no backup, no recycle bin and no way for us to restore it afterwards — that's the point.
Yes. The toolbar collapses into a bottom pill on touch devices. It works well on iPad with a Pencil, on Android tablets, and one-handed on phones. Two-finger drag pans; pinch zooms.
Yes to both. cnvs.app is an installable Progressive Web App — your browser surfaces "Install app" (or "Add to Home Screen" on iOS) once you've used it once. The app shell is cached on install, and every board you open while online is cached locally. If you lose network you still see a banner, can browse any previously-opened board and switch between them via the recent-boards sidebar, and can pan and zoom freely. Writes (drawing, typing, paste, new canvas, delete, move) pause until you reconnect; the WebSocket then resumes automatically. Boards deleted on the server are also evicted from your local cache so nothing erased can be resurrected from a stale snapshot.
Yes. cnvs.app exposes a Model Context Protocol endpoint at https://cnvs.app/mcp that any MCP-capable client (Claude Desktop, Claude Code, custom agents) can connect to. The AI can read the current state of a board, add text and sticky notes, draw strokes, drop images and erase items — all synced live to the humans also connected via browser. No API key is needed: the board ID is the access key, exactly like when you share the URL with another person.
On Cloudflare's global edge network, delivered over TLS. A dedicated EU-resident storage option is on the roadmap.
Small productivity tools we built for ourselves — each usable for free.