Pricing Docs Blog Apps Tools Support Start Free
Peer Tool Comparison

Excalidraw vs draw.io

Both are free, both have code on GitHub, and both run in a browser without an account. They are built for different jobs: draw.io (the app formerly branded diagrams.net) is a precise diagram editor with snap-to-grid, layers and thousands of vendor icons; Excalidraw is a hand-drawn-style whiteboard for thinking out loud. Most people asking this question want one of each.

Deploy Excalidraw $3/mo on InstaPods

Excalidraw vs draw.io: which should I use?

Use draw.io when the diagram is the deliverable: an AWS architecture for a design doc, a UML or ER diagram, a network map, anything that needs vendor icons, snap-to-grid and Visio import. Use Excalidraw when the drawing is a thinking tool: a whiteboard you sketch on during a call, a rough system shape, a wireframe you will throw away. Both are free and both self-host. Excalidraw is a 1-Click app on InstaPods at $3/mo; draw.io has no 1-Click app, but its static build runs on a $3/mo static pod.

The one-paragraph verdict

This is not a licence fight the way Excalidraw vs tldraw is. Excalidraw is MIT and the draw.io source code is Apache 2.0, so you can self-host either for free and nobody sends you an invoice. The difference is what each tool is for. draw.io is a structured diagram editor: 50-plus bundled shape libraries including four generations of AWS icons, Azure, GCP, Cisco, Kubernetes, BPMN and UML, plus layers, multi-page documents, snap-to-grid and an import path for Visio .vsdx, Lucidchart and Gliffy files. It is what you reach for when the diagram is going into a design document and has to be right. Excalidraw is a whiteboard with a deliberately rough hand-drawn style that says "this is a draft, argue with it", live collaboration you can start in one click, and a JSON file format you can commit next to the code. On InstaPods, Excalidraw is a 1-Click app on the $3/mo Launch plan. draw.io is not in the catalog; if you want it on your own domain, the static webapp build drops onto a $3/mo static pod, or you run the official jgraph/drawio Docker image elsewhere. Many engineering teams run both and that is a perfectly good answer.

Last updated: 2026-09-15

Quick Comparison

Feature comparison: Excalidraw vs draw.io
Feature draw.io Excalidraw
Licence Source code Apache 2.0. Bundled icon sets and stencils carry an extra restriction: they may not be used in Atlassian products or Marketplace apps without written permission MIT
Open source? Yes for the code, per the repository README. Note the project does not accept pull requests Yes, OSI-approved MIT licence, community contributions accepted
What it is A precise diagram editor: flowcharts, UML, ER, network and cloud architecture diagrams A hand-drawn-style infinite whiteboard for sketching and thinking
GitHub stars 8,124 (jgraph/drawio) and 63,113 (jgraph/drawio-desktop) 131,937
Free hosted version app.diagrams.net, free, no account needed excalidraw.com, free, no account needed
Paid tier None for the web app. The Confluence Cloud app is free up to 10 users, then $1.95 per user per month up to 100 users on the Atlassian Marketplace Excalidraw+ at $6 per user per month paid yearly, $7 paid monthly
Shape and icon libraries 50-plus bundled libraries: AWS (four generations), Azure, GCP, Alibaba Cloud, IBM, Cisco, Kubernetes, OpenStack, BPMN, UML, ER, network, floorplan, electrical, mockups A small built-in set plus 232 community libraries at libraries.excalidraw.com
Hand-drawn style Optional. A sketch theme rendered with rough.js The default and the whole point
Precision tools Snap-to-grid, layers, multi-page diagrams, connector routing, waypoints, grouped shapes, custom properties Basic alignment and grid snapping. No layers, no pages
Real-time collaboration Only on app.diagrams.net with the file stored in Google Drive. The README states the self-hosted version does not support real-time collaborative editing Live sessions via the public Excalidraw collab server, end-to-end encrypted. Not persistent, not on your pod
Persistent boards Files: .drawio saved to disk, Drive, OneDrive, GitHub or GitLab. No board database No board database. Scenes live in your browser and in .excalidraw files
Export formats .drawio and .xml, .png, .svg, .jpeg, .webp, .pdf, embeddable .html, and a URL that encodes the diagram .excalidraw JSON, .png, .svg, and clipboard
Import Visio .vsdx, Lucidchart, Gliffy, .vss stencil libraries, CSV, SQL and Mermaid Mermaid, .excalidraw files and images
Embedding Official Confluence and Jira Cloud apps, Google Docs, Slides and Sheets add-ons, Nextcloud, and an unofficial VS Code extension with 9,488 stars @excalidraw/excalidraw npm package (MIT), an official VS Code extension, and third-party Obsidian and Notion integrations
Self-hosting effort Official jgraph/drawio Docker image (Tomcat on port 8080), or fork the repo and serve the static webapp. The README says a static deploy is "fully functional" but has no cloud-storage integrations Static build behind nginx. One pod, done
On InstaPods No 1-Click app. Drop the static webapp build on a $3/mo static pod 1-Click app, $3/mo Launch plan

Where draw.io Is the Wrong Tool

Trade-offs to weigh before committing.

It Is Slow for Thinking

draw.io wants you to pick a shape from a panel, drop it, connect it, align it. That is exactly right when the diagram matters and exactly wrong when you are on a call trying to explain an idea before it evaporates. Excalidraw is keyboard-first: R for rectangle, A for arrow, T for text, drag, done. The rough style also does something useful socially, which is that nobody critiques the kerning on a sketch.

No Real-Time Collaboration When Self-Hosted

The draw.io README is direct about this: "draw.io does not support real-time collaborative editing in this version, currently." The live cursors you may have seen exist on app.diagrams.net when the file is stored in Google Drive, where Drive is doing the sync. Run the Docker image on your own server and it is one person per file. Excalidraw starts a live session from any build, including a self-hosted one, through the public collab server.

The Files Are XML, and Diffs Are Not Pretty

A .drawio file is mxGraph XML. It is stable and it opens everywhere, but a pull request that touches one is a wall of coordinates. An .excalidraw file is JSON with one object per element, which is still noisy but readable enough that reviewers can see a box was renamed.

Not a Community Project

The repository README states: "We do not accept pull requests. The project is developed entirely by the core team." The code is Apache 2.0 and you can fork it, but do not expect to land a fix upstream. Excalidraw has 131,937 stars and merges outside contributions, which is why its plugin and library ecosystem grew the way it did.

Why Excalidraw for the Whiteboard Job

What you get when you pick this stack.

One Pod, Three Dollars

The InstaPods image builds Excalidraw from source and serves the static output with nginx. The $3/mo Launch plan (1 vCPU, 512 MB RAM, 10 GB storage) serves it to your whole team on your own domain with HTTPS. Nothing is metered, nobody counts seats.

Live Sessions in One Click

Click the collaborate button, share the link, and everyone sees the same board with live cursors. The session is end-to-end encrypted with a key that stays in the URL fragment. It runs on the public Excalidraw collab server rather than your pod, and it ends when everyone leaves, but for a design discussion that is the whole requirement.

Diagrams as Files

An .excalidraw file is JSON. Commit it beside the service it documents, diff it in a pull request, export a PNG or SVG for the README. The format has years of tooling around it in Obsidian, VS Code and Notion, and Excalidraw imports Mermaid so you can start from text and clean up by hand.

MIT Means Nobody to Ask

Self-host it, embed it through the npm package, fork it, ship it inside a paid product. There is no licence key, no watermark and no restriction on where the shapes may be used. draw.io is Apache 2.0 for the code, which is nearly as permissive, but its bundled icon sets carry a written-permission clause for Atlassian products that you would need to read before building on them.

Real Cost Comparison

A five-person engineering team that wants a private drawing tool on its own domain.

draw.io
  • draw.io: free, Apache 2.0
  • Official Docker image on a VPS you manage, or the static webapp on a $3/mo InstaPods static pod (no 1-Click app)
  • Real-time collaboration: none when self-hosted; use app.diagrams.net with Google Drive for that
  • Confluence Cloud app if you want diagrams in Confluence: free up to 10 users
From $3/mo, hand-deployed
Excalidraw on InstaPods
  • InstaPods Launch plan: $3/mo (1 vCPU, 512 MB, 10 GB)
  • Excalidraw: free, MIT
  • HTTPS, subdomain and backups: included
  • Live collaboration out of the box, no seats, no board limit
$36/yr for the whole team

When draw.io is the right call

If the output is a formal diagram, draw.io wins and it is not close. An AWS architecture diagram with the official icons, a UML class diagram, an ER diagram generated from SQL, a network map with Cisco stencils, a multi-page process document with layers you can toggle: Excalidraw has no answer to any of that, and its community libraries are a patchwork next to the 50-plus bundled sets draw.io ships. The Visio import alone decides it for teams migrating off Microsoft tooling.

It also wins on embedding into the places diagrams actually live. The Confluence and Jira Cloud apps are official, free up to 10 users and $1.95 per user per month after that on a 100-user tier, and the unofficial VS Code extension lets you edit .drawio.svg files that render inline on GitHub. If your diagrams belong in a wiki or a repo rather than on a whiteboard, draw.io is the better fit, and this page recommends Excalidraw for the whiteboard job and not for yours.

Frequently Asked Questions

Excalidraw vs draw.io: which should I use?

draw.io for diagrams that are the deliverable: architecture, UML, ER and network diagrams with vendor icons, snap-to-grid and Visio import. Excalidraw for sketching and thinking: a whiteboard with a hand-drawn style and one-click live sessions. Both are free and self-hostable. On InstaPods, Excalidraw is a 1-Click app at $3/mo; draw.io is not in the catalog but its static build runs on a $3/mo static pod.

Is draw.io open source?

The source code is. The jgraph/drawio README states: "The source code in this repository is licensed under the Apache License 2.0." It adds one restriction that is not in Apache 2.0: the bundled icon sets and stencil libraries "may not be used as software assets in, distributed for use with, or incorporated into Atlassian products or products distributed through the Atlassian marketplace or plugin ecosystem, without explicit written permission." That restriction does not apply to diagrams you export. The project also does not accept pull requests. Excalidraw is MIT throughout. Wording checked on github.com/jgraph/drawio on 15 September 2026.

Is Excalidraw better than draw.io?

For a whiteboard, yes. For a diagram, no. Excalidraw is faster to draw in, looks like a sketch on purpose, and starts a live collaborative session from any build. draw.io has layers, multi-page documents, connector routing, 50-plus shape libraries and imports Visio, Lucidchart and Gliffy files. The honest answer for most engineering teams is both: Excalidraw for the call, draw.io for the design doc.

Can I self-host draw.io?

Yes, and for free. The README lists three routes: fork the repository and publish it to GitHub Pages for a "fully functional editor (without integrations)", use the official jgraph/drawio Docker image, which runs on Tomcat and listens on ports 8080 and 8443, or install draw.io Desktop. On InstaPods there is no draw.io 1-Click app. The static webapp build can be deployed to a $3/mo static pod the same way any static site is, and you lose only the cloud-storage integrations, which need OAuth credentials you would have to register yourself.

Which one has real-time collaboration?

Excalidraw, from any build including a self-hosted one, via the public Excalidraw collab server with end-to-end encryption; sessions are not persistent and do not run on your pod. draw.io has real-time editing only on app.diagrams.net when the file is stored in Google Drive, where the drawio.com docs say collaborators "will see each other's cursors and changes in real time". The repository README says the self-hosted version does not support real-time collaborative editing. If you need multi-user editing entirely on hardware you control, self-host AFFiNE, whose canvas is backed by PostgreSQL on your pod.

Is diagrams.net the same thing as draw.io?

Yes. In February 2020 the project moved its reference web app from draw.io to app.diagrams.net, citing two concerns about the .io domain in a blog post that is still up on drawio.com. The brand has since consolidated back on draw.io: the documentation lives at drawio.com, the README calls the product draw.io and the company draw.io Ltd (previously named JGraph), while the web app still runs at app.diagrams.net. Searches for "diagrams.net vs Excalidraw" and "draw.io vs Excalidraw" are asking the same question.

How much does draw.io cost?

The web app at app.diagrams.net and the desktop app are free, with no paid tier. Money changes hands only for the Atlassian apps: draw.io for Confluence Cloud is free for up to 10 users and $1.95 per user per month on the 100-user tier, dropping per user at larger tiers. Prices read from the Atlassian Marketplace pricing API on 15 September 2026.

How much does Excalidraw cost?

excalidraw.com is free with one scene and unlimited collaborators. Excalidraw+ is $6 per user per month paid yearly or $7 paid monthly, and adds unlimited scenes saved to the cloud, sharing with edit and view rights, comments and presentations. Self-hosted on InstaPods it is $3/mo flat for the whole team. Prices checked on plus.excalidraw.com on 15 September 2026.

Deploy Excalidraw for $3/mo

MIT-licensed whiteboard on your own domain with HTTPS and backups. Live sessions in one click, no seats, no board limit.

Deploy Excalidraw