Snapcraft
Snapcraft is the command-line build tool for packaging and distributing software and
apps in the snap container format. It solves the problems of dependency management and
architecture support by bundling all of a software's libraries into the container
itself, and gives developers a way to package any app, program, toolkit, or library for
all major Linux distributions and IoT devices.
Basic usage
A snap's build configuration is stored in simple language as a project file calledsnapcraft.yaml, making it easy to add as a new package format to your existing code
base.
From the root of the code base of any software project, Snapcraft creates a minimalsnapcraft.yaml with:
snapcraft initAfter you add all your project's build and runtime details to the project file, bundle
your project into a snap with:
snapcraft packYour project can be registered on public and private app stores, including the Snap
Store:
snapcraft registerSnap versions and revisions, including parallel releases, are published to the store
with:
snapcraft uploadIf you're interested in learning more about the Snapcraft commands and how to compose a
project file, try crafting your first
snap.
Installation
Snapcraft is available on all major Linux distributions, Windows, and macOS.
Snapcraft itself has first-class support as a snap. On snap-ready systems, you can install it on the command line with:
sudo snap install snapcraft --classicFor complete installation, you need an additional Linux container tool. Snapcraft can
also be installed as a traditional package on many popular Linux repositories. If you
need help with either, the documentation covers how to set up
Snapcraft.
Documentation
The Snapcraft documentation
provides guidance and learning material about the full process of building a project
file, debugging snaps, resolving interfaces, the command reference, and much more.
Community and support
We are a growing community of crafters who build snaps for all Linux software.
Ask your questions about Snapcraft and what's on the horizon, and see who's working on
what in the Snapcraft Forum and on the Snapcraft Matrix
channel.
You can report any issues or bugs on the project's GitHub
repository.
Snapcraft is covered by the Ubuntu Code of
Conduct.
Contribute to Snapcraft
Snapcraft is open source and part of the Canonical family. We would love your help.
If you're interested, start with the contribution guide.
We welcome any suggestions and help with the docs. The Canonical Open Documentation
Academy is the hub for doc
development, including Snapcraft docs. No prior coding experience is required.
License and copyright
Snapcraft is released under the GPL-3.0 license.
© 2015-2025 Canonical Ltd.