
draw.io Desktop
https://github.com/jgraph/drawio-desktop- Category
- Developer Tools
- Rank
- No. 194Tools index
- Pricing
- Open Source
- Type
- APP
- Use case
- Design & Media
- Interfaces
- Desktop
- Builder
- jgraph
- GitHub
- 63.3k stars
- Latest release
- v31.4.5
- Date
About
Official Electron desktop build of draw.io, a free diagramming app for flowcharts, network diagrams, UML, mindmaps, and more.
What it does
draw.io Desktop keeps diagram editing and export on your machine. Its graphical editor handles local files, while a command-line interface supports batch conversion, recursive folder processing, page and layer selection, sizing, themes, and several output formats.
Why it's ranked here
Its strongest case is controlled, local diagram work. The app blocks remotely loaded JavaScript, sends neither diagram data nor usage analytics, and offers substantial command-line export controls. It is less compelling when connected services, formal support, or community-driven development matter.
What's good
The security model is unusually explicit. Network access is restricted to updates and resources referenced by a diagram. Administrators can disable update checks. Windows users get machine-wide, per-user, portable, and Store installation choices. Automated exports cover PDF, SVG, PNG, JPEG, XML, and HTML.
Tradeoffs
Diagrams containing remote images, backgrounds, or fonts can still contact their source servers and reveal metadata such as an IP address. Non-paying users receive repository-based support without contractual guarantees or private tickets. Maintainers rarely accept contributions. Personal builds are unsigned, unsupported, and require manual handling of operating-system warnings.
How to use it well
Choose it for local diagram authoring, privacy-conscious environments, and repeatable export jobs. Use the graphical editor for creation, then automate conversions through its command-line interface. Centrally managed deployments should disable update checks. Look elsewhere when the workflow requires external services enabled inside the application or contractually backed support.
Technical notes+
package.json defines an ES module Electron application with Node.js 22.12 or later, exports src/main/electron.js, and uses electron-builder for platform packaging. src/main/args.js implements the command-line parser and export options. src/main/electron.js restricts renderer senders, tracks authorized filesystem paths, configures updates, and loads the editor from the drawio submodule. src/main/electron-preload.js exposes a constrained IPC bridge through context isolation. Tests use Node's built-in test runner in src/test/cli-args.test.js, src/test/window-bounds.test.js, and src/test/msi-project-created.test.js.
Observed
- License
- Apache-2.0
- Primary language
- JavaScript
- Application model
- Electron desktop application wrapping the core draw.io editor as a git submodule
- Interfaces
- Desktop graphical interface and command-line export interface
- Platform support
- Windows, macOS, and Linux builds are documented
- Windows packaging
- NSIS installer, MSI installer, portable executable, and Microsoft Store APPX
- Testing
- Node built-in tests cover command-line parsing, window placement, and MSI project rewriting
Read from README.md, package.json, src/main/args.js, src/main/electron.js, src/main/progress-bar.js, src/main/disableUpdate.js, src/main/window-bounds.js, src/main/electron-preload.js, doc/RELEASE_PROCESS.md, doc/BUILDING_FOR_PERSONAL_USE.md, preload.js, src/test/cli-args.test.js, src/test/window-bounds.test.js, src/test/msi-project-created.test.js, LICENSE.
What it can do
Create flowcharts
User design input and flowchart elements → Flowchart diagram
Design network diagrams
Network components and connections → Network topology diagram
Generate UML diagrams
UML elements and relationships → UML diagram (class, sequence, use case, etc.)
Create mindmaps
Ideas, concepts, and hierarchical relationships → Visual mindmap diagram
Export diagrams to various formats
Created diagram → Image files (PNG, JPG, SVG) or document formats (PDF, XML)
Import existing diagram files
Diagram files (XML, VSDX, Lucidchart) → Editable diagram in draw.io format
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.