What is the FLATPAK file format?
A .flatpak file is a single-file bundle created by the Flatpak application distribution framework for Linux. It packages one application or one runtime into a standalone file that you can download directly, copy onto a USB stick, or send as an email attachment. Flatpak was created by Alexander Larsson, and single-file bundles have been part of it since 2016.
Under the surface, a default bundle is an OSTree static delta built against an empty base, with extra metadata for the app's icons and appdata. Bundles built with the --oci flag use the OCI image format instead. A bundle deliberately leaves out dependencies and the full AppStream catalog, so the matching runtime has to be available separately. Developers create bundles with flatpak build-bundle and can embed a repository reference so updates can be fetched later.
Security & safety
RISK: MEDIUMA .flatpak bundle installs and runs executable software, so only install bundles from sources you trust. Flatpak sandboxes apps with portals and permissions, which limits what an installed app can reach, but a bundle can still request broad permissions. Bundles can be GPG-signed, yet a plain download offers no signature guarantee, so verify the origin before installing. Bundles do not receive automatic updates unless a runtime/repo remote is configured.
Format details
in a nutshell- Flatpak reference file (.flatpakref) - Related but distinct format; a text pointer to an app in a remote repo, MIME application/vnd.flatpak.ref.
- Flatpak repository file (.flatpakrepo) - Related but distinct; describes a Flatpak remote to add, MIME application/vnd.flatpak.repo.
Programs that open FLATPAK files
flatpak install yourapp.flatpak in a terminal to install the bundle; add --user to install it for the current user only. .flatpak file to open it in GNOME Software, then click Install to add the application graphically. flatpak build-import-bundle repo yourapp.flatpak to import the bundle back into an OSTree repository for re-hosting. Technical details
deep spec| Encoding | Binary. Default bundles use GVariant-serialized OSTree data; OCI bundles use the OCI image layout. |
| Container | OSTree static delta against an empty base, carrying Flatpak-specific metadata for application icons and AppStream/appdata |
| Compression | OSTree delta compression by default; --oci bundles compress layers with gzip (default) or zstd |
| Encryption | None. Integrity/authenticity is provided by optional GPG signatures embedded at build time via --gpg-keys |
| Integrity | OSTree content-addressed object checksums; optional GPG signing of the bundle |
| Typical size | A few megabytes to several hundred megabytes, depending on the application and whether the runtime is bundled |
| Structure | Single file holding one application or runtime revision as an OSTree static delta, plus metadata (app id, branch, icons, appdata, and an optional runtime-repo/repo-url for updates). Does not include dependencies or full AppStream catalog data. |
| Platforms | Linux |
| Notes | Created with `flatpak build-bundle`; imported back to a repo with `flatpak build-import-bundle`. Installed directly with `flatpak install file.flatpak`. Bundles are meant for direct download, removable media, or email; Flatpak recommends `flatpak create-usb` when dependencies and AppStream data are needed for offline installs. |
| Byte order | GVariant native (little-endian on common Linux hardware) |
| Released | 2016 |
| Latest version | OSTree static delta / OCI image bundle |
| Open standard | Yes · royalty-free |
| Specification | docs.flatpak.org |
FLATPAK conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about FLATPAK files.
Frequently asked questions
How do I open or install a .flatpak file?
flatpak install yourapp.flatpak in a terminal, or double-click the file so a graphical store like GNOME Software or KDE Discover installs it. Flatpak must be set up on your distribution first.Can I open a .flatpak file on Windows or macOS?
Why does my app not update after installing a .flatpak bundle?
--runtime-repo/--repo-url, Flatpak configures a remote for updates; otherwise you must reinstall a newer bundle manually.What is the difference between .flatpak, .flatpakref, and .flatpakrepo?
.flatpak is a self-contained bundle holding the actual app or runtime. .flatpakref is a small text file pointing to an app in a remote repository, and .flatpakrepo describes a remote repository to add.The install fails saying a runtime is missing. What do I do?
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo, then install the bundle again.