How To

Install draw.io Desktop on Ubuntu / Debian / Fedora

The desktop build of draw.io runs the whole diagram editor offline. It is the same editor as the app.diagrams.net website, packaged as an Electron application with all JavaScript bundled locally, so no diagram data ever leaves your machine. For network topologies, architecture diagrams, and flowcharts that reference internal systems, that isolation is the reason to install draw.io locally instead of using the website.

Original content from computingforgeeks.com - post 39021

This guide shows how to install draw.io Desktop on Ubuntu, Debian, Linux Mint, and Fedora from the official .deb and .rpm packages, how to run the portable AppImage instead, and how updates work given that there is no apt or dnf repository. Everything here uses the project’s GitHub releases, which also ship arm64 builds for ARM machines.

Tested in August 2026 with draw.io Desktop 31.1.8 on Linux Mint 22.3 (Ubuntu 24.04 base) and Fedora Workstation 44.

Grab the Latest Release Version

draw.io Desktop is distributed through GitHub releases, not a package repository. Detect the current version once and the download commands below stay copy-paste clean whenever a new release ships:

export DRAWIO_VER=$(curl -s https://api.github.com/repos/jgraph/drawio-desktop/releases/latest | grep -oP '"tag_name": "v\K[^"]+')
echo ${DRAWIO_VER}

The echo confirms a clean version string before you download anything:

31.1.8

Install draw.io on Ubuntu / Debian / Linux Mint

Download the .deb build and install it with apt, which resolves the handful of desktop dependencies automatically:

wget https://github.com/jgraph/drawio-desktop/releases/download/v${DRAWIO_VER}/drawio-amd64-${DRAWIO_VER}.deb
sudo apt install -y ./drawio-amd64-${DRAWIO_VER}.deb

The download is around 130 MB. One naming quirk catches people during verification: the package is registered as draw.io with the dot, while the binary it installs is /usr/bin/drawio without it. Check the installed version against the right name:

apt policy draw.io

The installed and candidate versions match the release you detected:

draw.io:
  Installed: 31.1.8
  Candidate: 31.1.8

Install draw.io on Fedora

Fedora takes the .rpm build. The flow is identical, only the asset name and package manager change:

wget https://github.com/jgraph/drawio-desktop/releases/download/v${DRAWIO_VER}/drawio-x86_64-${DRAWIO_VER}.rpm
sudo dnf install -y ./drawio-x86_64-${DRAWIO_VER}.rpm

dnf warns that it skipped OpenPGP checks for the local package. That is expected, since the rpm comes straight from the GitHub release rather than a signed repository. Confirm the install:

rpm -qi draw.io | head -8

The package metadata shows the version and the unpacked size, which lands at roughly 470 MB on disk:

Name        : draw.io
Version     : 31.1.8
Release     : 1
Architecture: x86_64
Install Date: Tue 11 Aug 2026 12:21:56 PM UTC
Group       : default
Size        : 469181731
License     : Apache-2.0

The same verification rendered on the Fedora test machine:

rpm -qi output confirming draw.io Desktop installed from the official rpm on Fedora

If you manage desktop software through Flatpak instead, draw.io is also published on Flathub as com.jgraph.drawio.desktop. Get the remote configured first with the Flathub setup on Fedora, then install it like any other Flatpak app.

Launch draw.io and Start a Diagram

The installer registers a desktop entry, so draw.io shows up in your application menu on GNOME, Cinnamon, and KDE. From a terminal, the command is the dotless binary name:

drawio

The editor opens straight into a blank diagram with the shape library on the left and the format panel on the right. This is draw.io running on the Linux Mint test machine:

draw.io desktop editor with shape and format panels open on Linux Mint

Files save as .drawio XML anywhere on disk, and File > Export handles PNG, SVG, and PDF. The desktop build works fully offline apart from its update check. One import limitation to know about: Gliffy import relies on a remote conversion service, so it only works in the online app, and legacy Visio .vsd files are not importable at all until you convert them to .vsdx first.

Run the AppImage Instead

Every release also ships an AppImage, which runs without installing anything and without root. It is the quickest way to try a new release next to your packaged version, or to use draw.io on a distro whose package format the project does not build for:

wget https://github.com/jgraph/drawio-desktop/releases/download/v${DRAWIO_VER}/drawio-x86_64-${DRAWIO_VER}.AppImage
chmod +x drawio-x86_64-${DRAWIO_VER}.AppImage
./drawio-x86_64-${DRAWIO_VER}.AppImage

The AppImage is bigger than the packages (about 160 MB) because it bundles its own runtime, and it creates no desktop entry or file associations on its own. The built-in updater covered below works here too, replacing the AppImage file in place. If you end up collecting several AppImage tools, managing AppImage applications with a launcher integration is worth setting up.

Updating draw.io Desktop

Because the package comes from GitHub rather than a repository, apt upgrade and dnf upgrade will never see new draw.io releases. You do not have to track them manually though: the app has a built-in updater that checks GitHub at startup and, by default, downloads a newer release and installs it silently when you quit. This is the one exception to the offline design. To pin a version, disable the updater with an environment variable or a flag:

DRAWIO_DISABLE_UPDATE=true drawio

Passing --disable-update on the command line does the same thing. With updates disabled, upgrading becomes the manual re-run of the install: detect the new version with the same curl command, download, and install over the existing package. Your diagrams are untouched either way, since they live in your home directory, not in the package.

draw.io ships releases frequently, sometimes several per month. The Flatpak build updates through the normal flatpak update flow instead, but it is community-maintained and can lag several releases behind GitHub, so the native packages are actually the fresher route. The comparison in Snap vs Flatpak vs AppImage covers what each format costs you.

Which Package Format to Pick

The native .deb or .rpm is the right default: menu integration, file associations for .drawio files, and a clean uninstall through the package manager. Pick the AppImage when you cannot install packages or want to test a release without touching the installed version. Pick Flatpak on a desktop where everything you run is already Flatpak, accepting that the community build can trail GitHub releases. Whichever route you take, the editor itself is identical, so nothing about your diagrams locks you into the format you chose first. Other Electron desktop tools follow the same GitHub-release pattern, like the steps in the VS Code install guide, so the version-detection habit from this guide carries over.

Keep reading

Upgrade Ubuntu 24.04 to Ubuntu 26.04 LTS (Step by Step) Ubuntu Upgrade Ubuntu 24.04 to Ubuntu 26.04 LTS (Step by Step) UFW Firewall Commands with Examples on Ubuntu 24.04 / 22.04 Security UFW Firewall Commands with Examples on Ubuntu 24.04 / 22.04 Things to Do After Installing CachyOS Arch Linux Things to Do After Installing CachyOS 10 Best Desktop Linux Distributions to Try in 2026-2027 Desktop 10 Best Desktop Linux Distributions to Try in 2026-2027 Install Arcane on Ubuntu 26.04 / 24.04: Complete Docker UI Guide Containers Install Arcane on Ubuntu 26.04 / 24.04: Complete Docker UI Guide How To Install 3 Node Etcd HA Cluster on Ubuntu 22.04 Databases How To Install 3 Node Etcd HA Cluster on Ubuntu 22.04

Leave a Comment

Press ESC to close