I have been getting this question lately from students and although I have a lot of information to offer, I have not found a source that I can point people to where they can read an update answer (I have found a lot of misinformation and obsolete information). So, some of the questions I have for package formats like snap, appimage, flatpak and others in this evolution of universal packaging systems are:

  • Who created the package format?
  • What features does it offer?
  • What features are unique to it? (That the others do not yet have)
  • Who supports it?
  • What Distributions use it?
  • What focus does the package have? (For Desktop, Clouds, Mobile, etc..)
  • Which are more actively developed?
up vote 45 down vote accepted

Here is a long tabular comparison of AppImage vs. Snap vs. Flatpak features. It is from the AppImage Wiki on GitHub:

AppImage vs. Snap vs. Flatpack Comparison

  • 19
    I think it's worth pointing out that this chart is built from an AppImage perspective. Meaning, the default feature set is AppImage's feature set, and the others are compared to its features. That gives a biased edge to AppImage. It's also somewhat out of date. For instance, Snap added theme support this fall. – Dan Apr 16 at 15:16
  • 1
    @Dan: If you are in the know about Snap's added them support -- why don't you then simply edit into the chart? Also, if you know about other features which are in Snap and/or Flatpak: feel invited to amend the chart with the respective items in the AppImage wiki... – Kurt Pfeifle Apr 16 at 16:31
  • 1
    Also, dear @Dan: I do not agree with you that "the default feature set is AppImage's feature set, and the others are compared to its features". How else/otherwise would you you explain the entries for item "Individual App repositories"? – Kurt Pfeifle Apr 16 at 16:35
  • 4
    I'm not sure how you can say that @Kurt. Take a look at the "Objectives" section, as an example. It shows AppImage's objectives exclusively, as if none of the other projects have any objectives. As if only the objectives that AppImage has matter. – Dan May 3 at 18:16
  • 2
    @Dan: I edited the answer on July 4th to insert an updated version of the screenshot from the website (exactly in order to include some modifications which happened to the wiki). Where is the problem for you in editing the original Wiki, creating a new screenshot and then suggesting a modification of this answer with the new screenshot? – Kurt Pfeifle Jul 7 at 10:11

Snaps were created by Canonical for Ubuntu. The main advantages of snaps are:

  • Independence on dependencies - all libraries and dependencies are included in the package. This also allows to have more versions of the same program.
  • Sandboxing - snaps are using modified AppArmor to sandbox the applications
  • Delta updates - snaps should also allow delta updates

The main drawback of snaps is that software can only use libraries included in it's package. This is a potential security risk as the author of the package needs to keep all libraries patched and updated.

Snaps can currently run in Ubuntu, Arch Linux, Fedora, Linux Mint, CentOS and Gentoo. They are also used in Ubuntu Touch. They are designed for desktops, servers, phones, IoT and routers.

Flatpak has the same advantages as snaps. However, it uses Namespaces instead of AppArmour for sandboxing. The main difference is that Flatpaks can both use libraries included in the package and shared libraries from another Flatpak.

The developer of Flatpak is the Red Hat employee Alexander Larsson. Flatpak software is currently available in Arch Linux, Debian, Fedora, Mageia, Solus and Ubuntu. It is focused on desktops only.

AppImages are developed by Simon Peter. As in snaps or Flatpak, the package includes all libraries neccessary to run the program. AppImage programes are not sandboxed and they don't require root rights to run. According to website of the project, AppImages should run on Arch Linux, Centos, Debian, Fedora, OpenSUSE, Red Hat Linux and Ubuntu.

  • 3
    Solus has announced support for flatpak in Jan 2017 – Anthon May 28 '17 at 6:40
  • 4
    They all should have just built upon appimage. Instead of re-inventing the same ideology and introducing fragmentation and confusions. Also note that since these portable packages have all the libraries, they will be considerably heavier in size compared to an app using shared libraries installed via apt or .deb. If you must know which is more popular, flatpak is currently beating snaps. – answerSeeker Jun 5 '17 at 5:22
  • With the Spectre attack now in the wild, I suspect there will be less interest in shared libraries for reasons of security. :-) – Chris Jan 9 at 5:59
  • @magma, considering this answer, do you know how AppImage and Flatpak packages get updated (manually like snap refresh or automátically)? – Pablo Bianchi Jan 27 at 22:35
  • 2
    @answerSeeker: your comment about the portable packages being "considerably heavier in size compared to an app using shared libraries installed via apt or .deb" isn't necessarily backed up by the real life facts. AppImages and Snaps are compressed into SquashFS images (not true for Flatpak). They are never extracted onto disk, not even during run-time. AppImages, when running, self-mount themselves onto a temporarily created mountpoint in /tmp/.mount_<random-chars> and run from there -- still compressed! See the numbers for the LibreOffice example in screenshot of my answer below... – Kurt Pfeifle Feb 23 at 15:01

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.