drawio-desktop is a standalone desktop application built with Electron that provides the full functionality of the web-based draw.io diagram editor in a secure, offline-capable package. It is designed for users who need to create complex diagrams—such as flowcharts, network topologies, UML models, and organizational charts—without exposing sensitive data to the internet. Unlike web-based alternatives, this app isolates all diagram data locally and blocks external JavaScript execution via Content Security Policy. It is ideal for developers, architects, and enterprise teams operating in air-gapped or high-security environments where data privacy is non-negotiable. The app wraps the core draw.io editor, preserving all its diagramming capabilities while adding native OS integration and guaranteed data retention on the local machine.
What You Get
- Offline diagram editing - Full draw.io editor functionality runs entirely locally; no internet connection required after installation to create, edit, or save diagrams.
- No external data transmission - Diagrams are never uploaded; no analytics, telemetry, or user tracking is performed. Content Security Policy blocks all remote script execution.
- Secure update mechanism - Updates are downloaded only from GitHub and AWS S3, with no other external connections enabled by default.
- Native file system integration - Save and open diagrams directly from your local filesystem using standard file dialogs on Windows, macOS, and Linux.
- Local storage persistence - Diagrams and session data are stored securely in system-specific directories: ~/Library/Application Support/draw.io on macOS, and C:\Users<USER-NAME>\AppData\Roaming\draw.io\ on Windows.
Common Use Cases
- Building network architecture diagrams for compliance audits - IT teams in regulated industries (HIPAA, GDPR, SOC 2) use drawio-desktop to create and store diagrams containing IP addresses, server configurations, and data flows without risking exposure via cloud uploads.
- Creating UML diagrams for internal software documentation - Developers in closed-source environments use the app to generate class and sequence diagrams that remain within their corporate network boundaries.
- Problem → Solution flow: Sensitive data can’t leave the premises → Use drawio-desktop to edit diagrams locally - Organizations with strict data sovereignty rules avoid web-based tools; drawio-desktop provides a feature-complete alternative that respects air-gapped constraints.
- Team workflow: Cross-functional teams using the same diagram format across departments - Architects, engineers, and product managers collaborate using identical .drawio files without relying on cloud platforms or subscriptions.
Under The Hood
The jgraph-drawio-desktop project is a cross-platform desktop application built using Electron, packaging the popular Draw.io (diagrams.net) diagramming tool into a native desktop environment. It enables users to create and manage visual diagrams with offline capabilities and enhanced performance compared to the web-based version.
Architecture
This project follows a standard Electron architecture with well-defined separation between the main and renderer processes, ensuring clear division of responsibilities for system integration and UI rendering. The modular design supports secure communication and system-level operations.
- Uses Electron’s main/renderer process model with distinct responsibilities for each component
- Implements contextBridge for secure and isolated communication between renderer and main processes
- Leverages IPC mechanisms to handle asynchronous message passing across components
- Organized into dedicated modules for core functionality like update disabling and file handling
Tech Stack
Built with JavaScript and powered by the Electron framework, this project integrates modern web technologies into a desktop application. It leverages Node.js modules and Electron APIs for system interaction and deployment across multiple platforms.
- Developed using JavaScript and the Electron framework for cross-platform desktop development
- Employs Node.js modules and Electron APIs to enable system integration and UI rendering
- Configured for multi-platform builds targeting Windows, Linux, and macOS environments
- Uses GitHub Actions for CI/CD workflows to automate builds and deployment processes
Code Quality
Code quality in this project is moderate, with some inconsistencies in style and limited test coverage. While error handling exists, it is not uniformly applied across all modules, and minor code duplication is observed.
- Error handling practices vary in consistency across different parts of the application
- Code style shows some inconsistencies, particularly in formatting and spacing conventions
- Minimal test coverage with no dedicated test files identified in the codebase
- Occurrence of duplicated error handling logic across multiple modules
What Makes It Unique
This project stands out by packaging a widely-used web-based diagramming tool into a native desktop application, offering enhanced performance and offline support. Its customizations in Electron’s runtime and deployment workflows provide a tailored user experience.
- Packages the popular Draw.io (diagrams.net) tool into a native desktop application with offline support
- Implements custom Electron preload bridge for secure inter-process communication patterns
- Integrates extensive build automation workflows for multi-platform deployment configurations
- Applies minimalist update disabling logic tailored for specific deployment and distribution scenarios