An all-new AppCenter Dashboard is coming for elementary OS 6

Faster, more reliable, and built entirely around Flatpak. In the meantime, app reviews for elementary OS 5.1 may take longer than usual.

AppCenter icon

Publish on AppCenter

An open, pay-what-you-want app store for indie developers

Log In with GitHub

Get Started

Get a basic app running, built, and ready for distribution with our Getting Started guide


Learn about the design principles that make up apps on elementary OS.


Get more info about code style, reporting issues, and proposing design changes

Get In Front of Users

  • New apps get featured with a large, branded banner. Plus, trending and recently-updated apps are featured on the front page.
  • Define your app's keywords, categories, and subcategories to help people find it.
  • With built-in social media sharing and app URLs, users can easily share your app right from AppCenter.
Learn more about app metadata

Monetize Your Work With Familiar Tools

  • Fast, easy pay-what-you-want downloads from users of elementary OS.
  • Powered by Stripe Connect ensuring simplicity, security, and compliance.
  • No enrollment fees or subscription costs.

Learn more about monetizing your app

  • Keep issue tracking & release management where you're familiar.
  • Submit updates and see review status in AppCenter Dashboard.
  • Track review feedback with GitHub Issues.

Learn more about the submission process

Vala. A Modern, Fast, Open Source Language.

Familiar to anyone who's seen C#, but maintains API/ABI compatibility with C

Low memory requirements, native execution, and purpose-built for GObject

Signals, properties, generics, lambdas, assisted memory management, exception handling, type inference, async/yield & more

public class MyApp : Gtk.Application {
    public MyApp () {
        Object (
            application_id: "com.github.myteam.myapp",
            flags: ApplicationFlags.FLAGS_NONE

    protected override void activate () {
        var window = new Gtk.ApplicationWindow (this) {
            default_height = 768,
            default_width = 1024,
            title = "MyApp"
        window.show_all ();

    public static int main (string[] args) {
        return new MyApp ().run (args);

Full API documentation available on


Download elementary OS 5.1 Hera

Build and release your apps for the latest version of elementary OS. Hera brings new APIs, improved notifications, a new location agent, new Granite CSS constants, new icons, and tons more. Build feature-full apps easier than ever with Gtk 3.22 & Vala 0.40.

Read the release notes