Jack Wallen / Elyse Betters Picaro / ZDNET
Follow ZDNET: Add us as a preferred source on Google.
ZDNET key takeaways
- Snap and Flatpak are Linux universal package managers.
- Both have their pros and cons.
- Each gives Linux far more apps to choose from.
Flatpak and Snap are universal package managers. Both are simple to use.
If you were to ask anyone in the Linux community, you’d find that they had a rather pointed opinion about whichever one they don’t use. To a Flatpak user, Snap is the enemy, and to a Snap user, Flatpak is inferior.
Also: I install these 11 apps on every new Linux system, and you should, too – here’s why
As someone who uses both, I have opinions as well. You’re shocked, right? There are actually some important facts that have to be considered when comparing Flatpak and Snap. Let’s chat about that.
IYKYK
I’m not going to blather on as to what universal package managers are or why they both make Linux better. If you do already know what Flatpak and Snap are, skip to the next section.
Also: How to install Linux applications from the command line
For those who don’t know, I’ll just make it simple: Flatpak and Snap are alternative ways to install applications on Linux (although some distributions are leaning more toward universal package managers being the default).
The difference between them and the standard method is that these two package managers contain everything necessary to install an application, which includes dependencies.
What that means is that a Flatpak or Snap app is guaranteed to install on any distribution that supports the package manager. That’s the gist of it. Now, let’s talk about which is better.
Snap vs. Flatpak
If you were to ask me to choose just one of these package managers, I’d have a bit of trouble doing so. Why? Although they both offer a large number of desktop apps that can be easily installed, only one of the choices is an option for server apps… Snap.
One of the reasons for this is that Flatpak relies heavily on desktop session services (like D-Bus and portals) for its sandboxing. Those services are not available to servers, so you won’t find a lot of Flatpak server apps.
Snap, on the other hand, does do well on a server. Take, for instance, the Nextcloud installation. You can either go the route of manually installing it (which requires the installation of a database, a web server, and then Nextcloud itself). Or, you can install it with a single Snap command (sudo snap install nextcloud).
Also: How to simplify Flatpak app installation on the KDE Plasma desktop
Essentially, if you want to use a universal package manager on a server, the only logical choice is Snap. But what about the desktop? After all, the vast majority of universal package manager apps are installed on desktop systems. How do they fare?
First and foremost, Flatpak is 100% open source and decentralized. Flatpak apps are also typically faster and use fewer system resources. At the same time, because users have easy access to permissions (via apps like Flatseal), Flatpak has a slight security edge. With Flatseal, you can manage Flatpak app permissions in a similar way you can manage Android app permissions. If you don’t want a Flatpak app to access your camera, mic, or location (etc), you can disable those permissions.
With Snap, that’s not so easy (and sometimes impossible).
Last but not least, if you use a distribution based on Arch or Fedora, Flatpak is by far the better option because both lean more toward Flatpak (and even include it by default). That’s not to say you can’t install Snap on Fedora… you can. But given Flatpak is included out of the box, it’s pretty clear which route the Fedora developers would rather you take.
Also: The best Linux distros for beginners
On the other hand, if you’re a Ubuntu user, you get much more system-level integration for core apps and server components. At the same time, if you need apps for servers, IoT, robotics, and/or desktops, Snap is the best (and often only) option. As well, if you prioritize automatic updates, Snap is the only way to go.
Decentralized vs. centralized
One thing that you might not know is that Snap relies on the Canonical centralized Snap Store, whereas Flatpak uses decentralized repositories such as Flathub. If you’re not a fan of a single company retaining control of your universal package manager, you’ll want to go with Flatpak.
Also: My 10 favorite Linux distributions of all time, ranked
Because Flatpak repositories are decentralized, you don’t have to ever worry that you won’t be able to install an app because one repository has gone down.
If the Snap Store goes down, you’re out of luck until Canonical resolves the problem.
Performance and disk space
Simply put, Flatpak apps use less disk space and start faster than Snap apps, which can take up more disk space and tend to be slower. The reason why Flatpak apps are faster is that they require significantly less runtime overhead.
Also: I’ve used every immutable Linux distro, and this is the one I’d install today – here’s why
Unlike Snap, Flatpak doesn’t require a daemon to run in the background (nor does it depend on systemd). If your distribution of choice does not go the systemd route, you only have one option… Flatpak.
From the outside looking in
If I weren’t a long-time Linux user (and didn’t have several long-standing opinions on just about everything Linux), and you asked me which is the better option, I’d say this:
Flatpak is the superior universal package manager for desktop usage, and Snap is best for servers, IoT, robotics, etc. That is not to say Snap is a bad option for desktops; it’s just that Flatpak holds a slight edge within the GUI realm. If I were using Ubuntu as my desktop distribution, Snap would be my first choice.
Also: The most beautiful Linux distributions for 2025
In the end, however, I use both. The primary reason for that is that I’ve found some apps I need are available as Snap apps, whereas some apps are only available in Flatpak form. Because of that, I always make sure both Snap and Flatpak are installed on my desktop distributions.
How do I choose which way to go?
- If I want an app to open faster and consume less disk space, I use Flatpak.
- If I want better core app integration, I go with Snap.
Either way you go, these universal package managers have become an integral part of the Linux ecosystem.
