OpenSourcePicks

Open source alternatives to popular software, with live GitHub data

GitHub stats refreshed every day

draw.io

Diagramming and whiteboard editor with large shape libraries and storage wherever you choose

Visit draw.ioGitHubDocumentation

Main features

  • Shape libraries for flowcharts, UML, ER, network, rack and org diagrams
  • Connectors with automatic routing and auto-layouts
  • Layers, tags, multi-page diagrams, links and tooltips
  • Simple whiteboard editor theme and freehand drawing
  • Diagrams generated from Mermaid, CSV or SQL
  • Import of Visio, Gliffy and Lucidchart diagrams
  • Export to PNG, JPEG, WebP, SVG, HTML, XML and PDF
  • Files stored on your device, in the browser, Google Drive, OneDrive, GitHub or GitLab
  • Desktop app for offline work

What draw.io does

draw.io is a general diagramming editor. It is strongest at structured technical drawings: flowcharts, UML, entity-relationship models, network and rack diagrams, org charts, floor plans, timelines and similar work, built from very large shape libraries with connectors that reroute automatically. Auto-layouts can arrange trees and flowcharts, and diagrams can be generated from Mermaid code, CSV data or SQL. It can also switch to a simpler whiteboard-style interface with freehand drawing, which is why the project now calls itself a diagramming and whiteboarding application.

The editor is also known under its hosted address, app.diagrams.net, and is built into many other products through integrations for Confluence, Jira, Google Workspace, OneDrive, Notion and others.

Storage and privacy

draw.io does not keep your diagrams in an account of its own. You choose where each file lives: on your device, in the browser, or in Google Drive, OneDrive, GitHub or GitLab. The editor renders and exports in the browser. Files use the XML-based .drawio format, and draw.io can import Visio (.vsdx, .vsd), Gliffy and Lucidchart diagrams, which makes it a common landing place when teams leave those tools. Exports cover PNG, JPEG, WebP, SVG, HTML, XML and PDF. The project notes that its SVG export is meant for embedding in web pages, not for further editing in vector tools.

Self-hosting draw.io

The official Docker image runs the editor on Tomcat with options for automatic Let’s Encrypt or self-signed certificates, and a Compose file wires in the Google Drive, OneDrive and GitLab integrations. There is also a variant for Nextcloud, packaged .war files, and the option of publishing the static editor to GitHub Pages without integrations. The image contains no export server, so PDF export goes through the browser’s print dialog and nothing leaves your server during export.

Two caveats from the project matter. The README describes the repository build and Docker image as a test version for evaluation, and points production deployments to a paid version. And the open source build does not support real-time collaborative editing; on the hosted editor, live co-editing works only through Google Drive, OneDrive or the Confluence app. For offline use there is a separate desktop app, draw.io Desktop.

Hosted version

The free online editor at app.diagrams.net is run by the developers. Because files are saved to your own storage, there is no draw.io-side account or storage plan. Paid products are the Atlassian apps and the production server version.

Limitations

draw.io is not a Miro replacement: in the self-hosted build there is no live collaboration, and it lacks sticky-note workshop features such as voting and timers. It is also not a UI design tool. Development is closed: the core team does not accept pull requests. The icon and stencil libraries come with an extra restriction on use in Atlassian products, which matters only to developers building for that ecosystem.

Who it suits

draw.io suits engineers, architects, analysts and documentation teams who need precise technical diagrams, want to keep files in storage they already control, and value Visio import. Teams that need a shared live board should pair it with, or choose, a dedicated whiteboard such as Excalidraw or WBO.

License details

Apache-2.0. Icon sets, stencils and templates may not be used in Atlassian products or Marketplace apps without permission. The project calls the repository build a test version and sells a production version.

Technical details

Self-hosting needs

  • Docker or Tomcat

Built with

  • JavaScript
  • Java

GitHub topics

  • diagram
  • javascript
  • whiteboard

Reviewed by the OpenSourcePicks editors from the project's repository and documentation. Something out of date? Tell us.