AppImage is a portable application format for Linux that lets you run software without installing it. Unlike Snap or Flatpak packages, AppImages do not require a daemon, a package manager, or root privileges. You download a single file, make it executable, and run it. When you no longer need the application, you simply delete the file. This makes AppImage an excellent choice for testing software, running portable tools, or using applications that are not available in your distribution’s repositories.
How AppImage Works
An AppImage file is a self-contained archive that bundles the application together with all its dependencies into a single file. When you run it, the system mounts the archive as a temporary filesystem, executes the application, and unmounts everything when you close it. Nothing is installed to your system directories, no libraries are modified, and no configuration files are scattered across your filesystem.
Key characteristics:
- No installation required. Download, make executable, run.
- No root privileges needed. You can run AppImages from your home directory.
- No system modifications. Your package manager and system libraries remain untouched.
- Portable. Copy the AppImage file to a USB drive and run it on another Linux machine.
- Distribution-agnostic. A single AppImage file works on Ubuntu, Fedora, openSUSE, Arch, and most other Linux distributions.
Downloading an AppImage
AppImage files are typically downloaded from the application’s official website or from AppImageHub, which catalogues hundreds of available AppImages.
Popular applications available as AppImages include:
- LibreOffice
- Krita (digital painting)
- Kdenlive (video editing)
- Inkscape (vector graphics)
- MuseScore (music notation)
- Subsurface (dive logging)
- Audacity (audio editing)
When downloading, ensure you get the file from the official project source or a trusted repository to avoid tampered files.
Making an AppImage Executable
After downloading an AppImage, you need to give it execute permission before it can run. Open a terminal and navigate to the directory containing the downloaded file:
chmod +x ~/Downloads/Application-x86_64.AppImage
Replace Application-x86_64.AppImage with the actual filename. You can also set execute permission using the file manager: right-click the file, select Properties, navigate to the Permissions tab, and tick Allow executing file as program.
Running an AppImage
Once the file is executable, run it directly from the terminal:
./Application-x86_64.AppImage
Or simply double-click the file in your file manager. The application launches immediately without any installation process.
Installing FUSE (If Required)
AppImages require FUSE (Filesystem in Userspace) to mount themselves. Most Ubuntu installations include FUSE by default. If you see an error about FUSE when trying to run an AppImage, install it:
sudo apt install libfuse2
On Ubuntu 22.04 and later, the package is libfuse2 (FUSE 2 compatibility library). After installing it, the AppImage should run without further issues.
Organising Your AppImages
Since AppImages are standalone files, it is good practice to keep them organised in a dedicated directory:
mkdir -p ~/Applications
mv ~/Downloads/Application-x86_64.AppImage ~/Applications/
Using a consistent directory like ~/Applications makes it easy to find and manage your AppImages. You can add this directory to your $PATH if you want to launch AppImages by name from any terminal:
echo 'export PATH="$HOME/Applications:$PATH"' >> ~/.bashrc
source ~/.bashrc
Creating a Desktop Shortcut
To launch an AppImage from your application menu without opening a terminal, create a .desktop file:
nano ~/.local/share/applications/myapp.desktop
Add the following content, adjusting the paths and names:
[Desktop Entry]
Type=Application
Name=My Application
Exec=/home/username/Applications/Application-x86_64.AppImage
Icon=/home/username/Applications/myapp-icon.png
Categories=Utility;
Comment=A portable application
Save and close the file. The application should now appear in your desktop environment’s application launcher.
Some AppImages offer to create a desktop entry automatically when you first run them. If the application asks whether you want to integrate it with your desktop, selecting yes creates the menu entry and file associations for you.
Updating AppImages
Unlike Snap and Flatpak, AppImages do not update automatically. To update an application, download the new version from the official source and replace the old file. Some AppImages support delta updates through the appimageupdatetool:
sudo apt install appimageupdatetool
Then run:
appimageupdatetool Application-x86_64.AppImage
If the AppImage includes update information (not all do), this downloads only the changed portions of the file rather than the entire application.
Removing an AppImage
To remove an AppImage application, simply delete the file:
rm ~/Applications/Application-x86_64.AppImage
If you created a desktop entry, delete that too:
rm ~/.local/share/applications/myapp.desktop
Some AppImages store configuration data in ~/.config/ or ~/.local/share/. If you want a completely clean removal, check those directories for any folders related to the application and delete them.
When to Use AppImage vs Snap vs Flatpak
- AppImage is best when you want maximum portability, no daemon overhead, no root access, and a completely self-contained file that you can carry on a USB drive.
- Snap is best when you want automatic updates, sandboxing, and integration with the Ubuntu software ecosystem.
- Flatpak is best when you want sandboxed applications with fine-grained permissions and access to the Flathub repository.
All three formats coexist on Ubuntu, and choosing between them depends on whether you prioritise portability (AppImage), automatic updates (Snap), or the broadest application catalogue (Flatpak via Flathub).