How to Use Snap, Flatpak and AppImage on Ubuntu: A Practical Comparison

Ubuntu users have three major universal packaging formats available for installing software: Snap, Flatpak and AppImage. Each format packages applications with their dependencies, promising to solve the longstanding Linux dependency problem. However, they work very differently under the surface, and choosing the right one can affect your system’s performance, disk usage and update behaviour.

This guide explains how each format works, how to install and manage packages with each one, and offers practical guidance on when to choose one over the others.

Why Universal Packages Exist on Linux

Traditional Linux package management relies on distribution-specific repositories. A .deb package built for Ubuntu 22.04 may not work on Ubuntu 24.04 without recompilation, and it certainly will not work on Fedora or Arch Linux. This creates headaches for both application developers, who must maintain separate builds for every distribution, and users, who may find that the version of an application in their distribution’s repository is months or years behind the latest release.

Universal packaging formats solve this by bundling the application together with all its required libraries and runtime dependencies into a single, self-contained package. The application runs in a sandboxed or semi-sandboxed environment, largely independent of the host system’s library versions.

How Snap Works on Ubuntu

Snap is developed and maintained by Canonical, the company behind Ubuntu. It is deeply integrated into Ubuntu — in fact, since Ubuntu 20.04, several default applications including the Firefox browser are distributed as Snaps rather than traditional .deb packages.

Installing and Managing Snap Packages

The snapd daemon is pre-installed on Ubuntu. To install a Snap application, open the Terminal and run:

sudo snap install package-name

For example, to install the VLC media player:

sudo snap install vlc

To list all installed Snaps:

snap list

To update all Snaps manually:

sudo snap refresh

To remove a Snap:

sudo snap remove package-name

How Snap Updates Work

Snaps update automatically in the background. The snapd daemon periodically checks the Snap Store for newer versions and downloads them without user intervention. While this keeps software up to date, it can cause issues — applications may restart unexpectedly during an update, and the background download consumes bandwidth and system resources.

You can delay updates using a refresh timer:

sudo snap set system refresh.timer=sat,10:00-12:00

This restricts automatic updates to Saturday mornings between 10:00 and 12:00.

Snap Advantages and Disadvantages

  • Advantages: Pre-installed on Ubuntu, large application library, automatic updates, strong sandboxing, works immediately after installation.
  • Disadvantages: Slower application startup times (particularly on the first launch), larger disk footprint, the Snap Store is proprietary and controlled exclusively by Canonical, requires the snapd daemon running continuously, automatic updates cannot be fully disabled without workarounds.

How Flatpak Works on Ubuntu

Flatpak is an open-source universal packaging format primarily associated with Flathub, a community-maintained repository of applications. Unlike Snap, Flatpak is not pre-installed on Ubuntu, but it is straightforward to set up.

Installing Flatpak Support on Ubuntu

Open the Terminal and install the Flatpak runtime:

sudo apt install flatpak

Then add the Flathub repository:

flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

Restart your system to complete the setup.

Installing and Managing Flatpak Applications

To install an application from Flathub:

flatpak install flathub org.videolan.VLC

To list installed Flatpak applications:

flatpak list --app

To update all Flatpak applications:

flatpak update

To remove a Flatpak application:

flatpak uninstall org.videolan.VLC

To remove unused runtimes and libraries left behind after uninstalling applications:

flatpak uninstall --unused

Flatpak Advantages and Disadvantages

  • Advantages: Fully open-source infrastructure, decentralised repository model, shared runtimes reduce disk usage compared to Snap, faster startup times than Snap, strong sandboxing with granular permission control via Flatseal, works across virtually all Linux distributions.
  • Disadvantages: Not pre-installed on Ubuntu, initial runtime downloads can be large (the GNOME or KDE runtime may be several hundred megabytes), updates are not automatic by default, some applications may require manual permission adjustments to access files or hardware.

How AppImage Works on Ubuntu

AppImage takes a fundamentally different approach. Rather than requiring a daemon, a repository system, or any installation at all, an AppImage is a single executable file. You download it, make it executable, and run it. There is no installation step, no package manager integration, and no automatic updates.

Running an AppImage on Ubuntu

Download the .AppImage file from the application’s website. Then make it executable:

chmod +x application.AppImage

Run it directly:

./application.AppImage

The application launches immediately without modifying your system. All its dependencies are bundled inside the single file.

Managing AppImage Files

Because AppImages are standalone files with no package manager integration, management is entirely manual:

  • Updating: Download the new version and replace the old file. Some AppImages support delta updates via AppImageUpdate, but this is not universal.
  • Removing: Delete the file. There is nothing to uninstall.
  • Desktop integration: AppImages do not automatically appear in your application menu. You can use a tool like AppImageLauncher to integrate them with your desktop environment.

AppImage Advantages and Disadvantages

  • Advantages: No installation required, no daemon or background process, completely portable (can be stored on a USB drive and run on any compatible Linux system), no root permissions needed, smallest system footprint.
  • Disadvantages: No automatic updates, no centralised repository, no desktop integration by default, no sandboxing (the application has full access to your user files), each file contains its own complete set of libraries which can result in large file sizes.

Practical Comparison: Snap vs Flatpak vs AppImage

Feature Snap Flatpak AppImage
Pre-installed on Ubuntu Yes No No
Requires daemon Yes (snapd) No No
Automatic updates Yes (mandatory) Optional (manual by default) No
Sandboxing Yes (AppArmor) Yes (Bubblewrap) No
Startup speed Slower (especially first launch) Moderate Fast
Desktop integration Automatic Automatic Manual
Repository model Centralised (Snap Store) Decentralised (Flathub + others) None (website downloads)
Open-source infrastructure Partially (client is open, store is proprietary) Fully open-source Fully open-source
Shared runtimes No (each Snap is self-contained) Yes (shared GNOME/KDE runtimes) No
Portability Low (requires snapd) Moderate (requires Flatpak runtime) High (single file, no dependencies)

When to Use Each Format

Use Snap when you want the simplest experience on Ubuntu with zero setup. Since Snap is pre-installed and tightly integrated, applications from the Snap Store work immediately. Snap is also the only option for certain Ubuntu-distributed applications like Firefox and Thunderbird on recent Ubuntu releases.

Use Flatpak when you prefer community-driven, open-source infrastructure with better startup performance and more granular permission control. Flatpak is the preferred format across most non-Ubuntu Linux distributions, and applications on Flathub are typically well-maintained and up to date. If you use the Flatseal application, you can fine-tune exactly what each Flatpak application can access on your system.

Use AppImage when you need maximum portability, want to avoid installing anything on your system, or need to run a specific version of an application without it being updated automatically. AppImage is ideal for applications you use infrequently or want to carry on a USB drive.

Running Multiple Formats Side by Side

There is no technical restriction preventing you from using all three formats on the same Ubuntu system. Many experienced Linux users install some applications via Snap (particularly those that Ubuntu ships as Snaps by default), others via Flatpak (for better performance and open governance), and occasionally use AppImages for portable or niche applications.

The key consideration is disk space. Running the same application as both a Snap and a Flatpak wastes storage. Choose one format per application based on your priorities — convenience, performance, portability, or openness — and stick with it.

For most Ubuntu users, starting with Snap for default applications and supplementing with Flatpak for third-party software that is better maintained on Flathub offers the best balance of convenience, security and performance.

Leave a Reply

Your email address will not be published. Required fields are marked *

Get the best tech tips delivered straight to your inbox.

Join thousands of readers mastering Apple, Google, Microsoft, and Linux.