draw.io Desktop is a free, open-source (Apache 2.0) desktop application built with Electron that wraps the full draw.io diagramming engine. It enables users to create professional diagrams — including flowcharts, UML, network diagrams, and wireframes — without requiring an internet connection or account registration. Designed for security-conscious users, it isolates all diagram data locally and blocks external data transmission by default.
The app integrates with cloud storage platforms like Google Drive, OneDrive, Dropbox, GitHub, and GitLab for file persistence, while maintaining full offline functionality. It supports real-time collaboration when files are stored on supported cloud platforms and includes advanced diagramming tools like swimlanes, custom styling, and shape libraries. Deployment is cross-platform, supporting Windows, macOS, and Linux with native installers and portable binaries.
What You Get
- Offline Diagramming - Fully functional diagram editor that works without internet access, storing all data locally in AppData (Windows) or ~/Library/Application Support/draw.io (macOS)
- No Login Required - Create, edit, and save diagrams without registering an account or providing personal information
- Cloud Storage Integration - Directly open and save diagrams to Google Drive, OneDrive, Dropbox, GitHub, and GitLab without manual file uploads
- Content Security Policy Enforcement - Blocks all external JavaScript and data transmission; diagrams and user data never leave the device except during optional updates
- Real-Time Collaboration - Multiple users can edit the same diagram simultaneously when saved to Google Drive, OneDrive, Dropbox, or Confluence
- Cross-Platform Support - Native installers and portable binaries available for Windows (x64 and x86), macOS, and Linux
- Legacy File Compatibility - Opens diagram files created as early as 2005 with full fidelity and no format conversion
- Dark Mode Support - Built-in dark theme for reduced eye strain during extended editing sessions
Common Use Cases
- Enterprise Security Teams - Engineers use draw.io Desktop to create network topology and architecture diagrams without exposing sensitive infrastructure details to cloud services
- Freelance Consultants - Professionals create client diagrams offline and share them via encrypted email or USB, avoiding vendor lock-in or account requirements
- Educators and Students - Users in low-bandwidth environments build UML or flowchart assignments using the desktop app without needing internet access or Google accounts
- Developers in Air-Gapped Environments - Teams in government or financial sectors use draw.io Desktop to document systems while complying with strict data isolation policies
Under The Hood
Architecture
- Clear separation of concerns between Electron main and renderer processes using IPC with contextBridge for secure communication
- Modular, platform-specific packaging configurations via declarative JSON files that eliminate code duplication across Windows, macOS, and Linux
- Dependency injection through environment variables and store-based configuration to dynamically enable features like spell check and updates
- Plugin system enabled via URL parameter injection and dynamic loading from webapp directory, allowing extensibility without core modifications
- Decoupled update mechanism with platform-aware activation, including Flatpak detection and conditional behavior
- Uniform file association and MIME handling across all platforms through centralized configuration
Tech Stack
- Electron as the foundational framework, enabling cross-platform desktop functionality with web technologies
- Electron-builder configured with comprehensive platform targets including AppX, Snap, DEB, RPM, and NSIS for native distribution
- Fuses and notarization scripts integrated for macOS security compliance and code signing
- Electron-updater with GitHub Packages for secure, automatic in-app updates
- TypeScript and Node.js 20+ runtime with modular ES6+ structure, supplemented by electron-store and electron-log for state and diagnostics
Code Quality
- Limited testing practices with no structured test cases or assertions, leaving core functionality unverified
- Superficial error handling relying on generic console logs and basic try/catch blocks without recovery or custom error types
- Inconsistent code organization that blurs separation of concerns, mixing imperative logic with event-driven IPC
- Erratic naming conventions and unclear variable names lacking contextual documentation
- Absence of type safety due to minimal TypeScript usage, increasing risk in inter-process communication
- No visible linting or formatting tooling, resulting in inconsistent style and structural issues
What Makes It Unique
- Native PDF export via pdf-lib enables high-fidelity, programmatic diagram rendering beyond browser print limitations
- Custom preload layer with intelligent IPC routing and real-time file system monitoring eliminates polling, delivering seamless editing
- Deep system integration for spell check and clipboard enhancements provides native-like text editing unmatched in web-based tools
- Platform-aware update system with silent mode and Flatpak detection ensures consistent behavior across diverse desktop environments
- Extensible plugin architecture combined with environment-aware configuration enables adaptive behavior without code changes