Flatpak vs APT: Which Should You Use on Linux?

Introduction
If you run Ubuntu, Debian, Linux Mint, or Pop!_OS, you've probably installed software two different ways without thinking much about it. Sometimes it's sudo apt install something. Sometimes it's clicking "Install" in a software center that quietly pulled down a Flatpak instead. Both get an app onto your system, but they do it in almost opposite ways.
APT is the traditional Debian package manager. It's fast, deeply integrated with the OS, and depends on shared system libraries already installed on your machine. Flatpak is a newer, "sandboxed" packaging format - sandboxed means the app runs in an isolated environment with limited access to the rest of your system, similar to how a phone app can't freely read another app's files. It ships with most of its own dependencies bundled in, rather than relying on your system's. Neither is universally "better." They solve different problems, and knowing which one to reach for saves you disk space, update headaches, and the occasional broken dependency chain.
This guide breaks down exactly how Flatpak and APT differ, when to use each, and the mistakes people commonly make mixing the two on the same machine.
Quick answer: Use APT for system tools, CLI utilities, and anything that should be tightly integrated with your OS. Use Flatpak for desktop apps where you want the latest version, or you want it isolated ("sandboxed") from the rest of your system. Most users end up with both, side by side.
Setup
Installing and using APT
APT ships by default on every Debian-based distribution, so there's nothing to set up:
sudo apt update
sudo apt install <package-name>
sudo apt remove <package-name>apt update refreshes the local package index from your configured repositories (here's exactly what that does under the hood); apt install then pulls the package and any missing shared dependencies from those same repositories.
Installing and using Flatpak
Flatpak isn't always preinstalled. On Ubuntu:
sudo apt install flatpak
sudo apt install gnome-software-plugin-flatpak # optional, GUI integrationThen add the Flathub repository, which hosts the vast majority of available Flatpaks:
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepoInstalling and running an app:
flatpak install flathub org.gimp.GIMP
flatpak run org.gimp.GIMPPractical Examples
Installing GIMP via APT:
sudo apt install gimpThis pulls GIMP plus whatever version of its shared libraries (GTK, image codecs, etc.) your distro currently ships. Its version and behavior are tied to your OS release - an older distro release means an older GIMP.
Installing GIMP via Flatpak:
flatpak install flathub org.gimp.GIMPThis pulls GIMP bundled with its own runtime and dependencies, sandboxed from the rest of the system. It's usually a newer version than your distro's own repositories carry, regardless of how old your OS release is.
Checking disk usage of runtimes:
flatpak list --runtime
du -sh /var/lib/flatpakThe first Flatpak app you install on a fresh system tends to feel "heavy" because it also downloads a shared runtime - a common set of libraries an app needs, like the GNOME or Freedesktop platform. Every subsequent app that uses the same runtime reuses it instead of downloading it again, so the true per-app cost drops fast after the first install.
Updating everything:
sudo apt upgrade # system + APT-installed packages
flatpak update # Flatpak apps and runtimesNote these are two separate update commands - this is one of the most common points of confusion covered below.
Common Mistakes
Assuming
apt upgradealso updates Flatpak apps. It doesn't. The two package systems are entirely independent, so a Flatpak app can silently go months without updates if you only ever runapt upgrade.Installing the same app through both APT and Flatpak. This leads to two separate binaries, two separate configs, and confusion over which one actually launches from your app menu.
Expecting Flatpak apps to integrate perfectly with the system theme or file manager. Because of sandboxing, a Flatpak app may not automatically see your GTK/Qt theme or have file access outside your home directory. You can fix this by granting permissions via
flatpak overrideor a permissions tool like Flatseal.Blaming Flatpak for "large downloads" without accounting for shared runtimes. The first install of a runtime looks big. Later app installs that share that same runtime are much smaller.
Assuming APT always has the latest version. Debian-based distros prioritize stability over freshness. That means APT versions can lag upstream releases by months or years, especially on LTS (Long-Term Support) releases.
Benefits
APT benefits:
Deep OS integration - themes, file access, and system services work without extra configuration
No duplicated dependencies; smaller total install footprint on a single-app basis
Fast installs on typical broadband, since only the app itself (and any genuinely missing libraries) is downloaded
Mature dependency resolution built over decades of Debian development
Flatpak benefits:
Sandboxed by default - a compromised or misbehaving app has limited access to the rest of your system
Same package version across every distro, so behavior doesn't vary between Ubuntu, Fedora, or Mint
Newer app versions available immediately, without waiting for your distro's next release cycle
Multiple versions of the same app can coexist without conflict
Comparison at a Glance
Aspect | APT | Flatpak |
|---|---|---|
Sandboxing | None - full system access | Yes, by default |
Dependency handling | Shared system libraries | Bundled runtime, some duplication |
App freshness | Tied to distro release cycle | Usually latest upstream version |
Disk usage (single app) | Lower | Higher initially, lower per additional app |
Cross-distro consistency | Varies by distro/version | Identical everywhere |
Update command |
|
|
Typical use case | System tools, servers, CLI utilities | Desktop GUI apps, sandboxed/untrusted software |
If you're also weighing Snap against Flatpak, or Snap against .deb directly, the same trade-off applies: sandboxing and cross-distro consistency versus lean, native integration. For every format side by side, see the full five-way packaging comparison.
Conclusion
APT and Flatpak aren't competitors so much as tools for different jobs. Reach for APT when you want a lightweight, deeply integrated package that's part of your system, such as CLI tools, server software, or anything where you want direct system access. Reach for Flatpak when you want the latest version of a desktop app, want it sandboxed away from the rest of your system, or need the exact same app behavior across different distros.
Most practical Linux setups end up using both side by side: APT for the base system and command-line tools, Flatpak for desktop apps like GIMP, Blender, or Spotify. Knowing which one you're using, and remembering to update both, is the actual skill here.


