The App Fair.app showing the catalog entry for the Blender project

Browse, download and install apps from a vast catalog of macOS desktop and mobile applications. The App Fair provides access to thousands of third-party apps through the community “Homebrew Casks” catalog, as well as all the free and open-source apps created using the appfair.net distribution platform.

From world-class web browsers like Brave, Chrome, and Opera to essential messaging apps like Zoom, Discord, and Telegram. From design stars like Figma, Blender, and Sketch to crucial technologies like Unison, Docker, and VS Code. And from media streaming apps like Spotify, Plex, and TIDAL to game platforms like League of Legends, Epic Games, and Minecraft. The App Fair is your missing source for all the Mac apps that you need to use, and love to use, every single day.

For help and assistance with the App Fair, visit the project discussions, join the discord channel, and browse the issue reports.

Straight from the Makers

The apps you get through the App Fair come straight from their creators, with no intermediaries. They may be free applications, or they may be commercial software with their own licensing and purchase mechanisms. They all benefit from the full protection of macOS’s built-in security features like Gatekeeper and XProtect, while at the same time remaining unconstrained by many of the limitations that can hobble apps installed through other channels.

Free and Fair

The App Fair is created and maintained by the community, for the community. It does not track you or advertise to you, nor does it impose any terms or conditions.

Every line of code in the App Fair.app itself is open-source, released under the GNU AGPL license, and available to browse freely on GitHub. The build process is completely transparent and the artifacts are verified by appfair.net reproducible builds.

Enter the App Fair

Download App Fair.app for macOS Monterey now. For existing homebrew users, it can alternatively be installed and launched by running the following command from Terminal.app:

brew install app-fair && open "/Applications/App Fair.app"

Frequently Asked Questions

Where does the App Fair get its apps?

App Fair.app integrates with the following sources of apps:

  • AppCasks: This catalog integrates with the brew casks database, which is curated and maintained by the Homebrew Project.
  • AppSources: This open format is used by appfair.net to describe a catalog for previewing, downloading, and installing apps.

How do I add additional sources to the App Fair?

The ability to add custom external sources is experimental and must first be activated from the “Advanced” preferences panel. Once enabled, new sources can be added with the plus (“+”) button at the bottom of the navigation sidebar.

Where does App Fair.app install apps locally?

Apps installed from the Homebrew Casks catalog are typically placed in the system /Applications/ folder, although this can vary depending on the Cask.

Apps installed from the Fairground App catalog will are placed in the /Applications/App Fair/ folder. Apps installed from other app sources are places in a folder named with the identifier of the catalog: /Applications/App Fair/app.source.identifier.

What languages is the App Fair available in?

App Fair.app is currently available in English, French, and Norwegian.

Translators are invited to help translate the App Fair strings into their local language. We use the “Weblate” translation interface to enable translation contirbutions without needing to use source control management directly.

Start contributing by going to: hosted.weblate.org/projects/appfair/app-fair.

What does the “app already exists” error mean during installation?

You may have already installed the app by downloading it directly or installing it through another mechanism. By default, the App Fair.app won’t overwrite an existing app when attempting to install it. You can either remove the app manually by placing it in the Trash, or else enable the “Install overwrites previous app installation” checkbox in the “Homebrew” preference panel of App Fair.app.

How do I un-install an app?

You can remove an app with the “Delete” button on the catalog entry for that app. You can also simply delete the app from the /Applications/ folder, but note that for apps obtained from the Homebrew Casks catalog this will not necessarily run all the cleanup steps (like halting daemons and disabling launch services for the app), so it is always recommended that your use the “Delete” button to remove apps.

Are the apps native and universal?

All apps published through the Fairground App catalog are native SwiftUI apps that are compiled for both ARM and Intel processors, resulting in a “universal” binary that makes optimal use of your Mac’s hardware.

Apps acquired through the Homebrew Casks catalog, however, are not guaranteed to be either universal (they may only be compiled for Intel and emulated under Rosetta, or they may not be compiled at all) nor native (they may use Electron, Qt, or Java instead of the system-native frameworks).

Can I purchase apps with App Fair.app?

Individual apps acquired through the Homebrew Casks catalog may have their own built-in trial and purchasing systems. The free open-source apps published through the Fairground Apps catalog may have options for patronage and sponsorship.

In addition, app developers may declare themselves as accepting sponsorship, which is described in the Sponsorable section.

What permissions do I need to install apps?

To install apps from the Fairground Apps, the current user needs permission to write to the /Applications/App Fair/ folder. In the event this is not writable by the current user, the app will attempt to escalate permissions to perform the installation, which will require an administrator password.

Apps installed through the Homebrew Casks catalog typically just require the ability to write to the /Applications/ folder, but for system-level apps or extensions, the installation process may request an administrator password to complete the installation.

How does the App Fair work with auto-updating apps?

Many apps utilize an embedded framework called “Sparkle” to check for updates and automatically download and install the most recent version. When an update occurs in this way, the event is not visible to the homebrew environment used by App Fair.app, so any apps that have been auto-updated will still show up in the App Fair as being available for download and update. The preference “Exclude auto-updating apps from updates list” exists to prevent these apps from showing up in the updates list.

Another difference is that the Sparkle system of auto-downloading updates doesn’t “quarantine” the downloaded artifacts, thereby skipping the operating system’s gatekeeper check for malware. The App Fair, on the other hand, does respect the quarantine flag by default (subject to the “Quarantine installed apps” preference), which means that both the initial download of an app as well as any updates that are downloaded via the App Fair will be subject to gatekeeper scrutiny.

How can I update App Fair.app?

If the “Keep catalog app up to date” checkbox is enabled in the App Fair preferences, App Fair.app will automatically install any updates to the catalog app, provided it is installed in the /Applications/ folder. This will happen the next time the catalog is refreshed, either manually or when the app is next launched.

Privacy and Security FAQs

How safe are the apps?

Apps installed using the App Fair.app are granted the same system-level protections as all the other apps on your Mac, regardless of how they were acquired. This includes proactive defenses like Gatekeeper and XProtect. They also benefit from ongoing analysis and remediation by the system’s Malware Removal Tool.

Apps acquired through the Homebrew Casks catalog are typically “notarized”, which means the app is from a registered developer and has been subject to scanning and compliance assessment. These apps, while signed, may or may not be “sandboxed”, and so may affect your system with elevated permissions.

Apps acquired through the Fairground Apps catalog are always “sandboxed”, which means they are restricted in the activities that can be performed. Any ability to access your documents, photos, network, or peripherals will be identified in the app’s description. The sum of the permissions that are requested by the app are summarized by the “Risk Level” that is displayed by the App Fair.app. This rating informs a user’s decision whether to trust and install an app or not, and thus provide full disclosure to users of the potential impact of installing an app.

What identifying information does App Fair.app track or transmit?

Basically, none. The server-side component of the App Fair itself is simply a set of HTML, JSON, and other static binary files hosted on GitHub and periodically updated using GitHub actions. There are no logins, cookies, or trackers built into either the client-side or server-side components. This can be verified by inspecting the source code.

Since App Fair.app downloads apps directly from the app creator’s servers, those servers will see a requestor’s IP address (e.g., 255.0.198.255), their primary language (e.g., “Accept-Language: en-US”), and their app version (e.g., “User-Agent: App Fair/622 CFNetwork/1329 Darwin/21.3.0”), from which an approximate geographical location could be inferred. While no cookies or personally identifying information is transmitted by App Fair.app, an intermediary (such as an ISP) may be able to infer that, say, someone at address 255.0.198.255 in Lilliput downloaded Signal.app. If this is a concern, you may wish to use a VPN when running App Fair.app.

What is App Launch Privacy?

The macOS operating system reports all application launches to third-party servers, which can be intercepted by intermediaries and reveal which apps you are launching and when. App Fair.app can prevent this tracking from taking place by temporarily blocking network traffic to these servers during the launch of an application.

This feature is not enabled by default, but can be turned on in the App Fair’s Privacy setting. Enabling this feature will require authenticating as an administrator, and will install a tool named applaunchprivacy that will be run in order to enable and disable “App Launch Privacy” mode.

App Launch Privacy will block telemetry from being sent when an app is opened using the App Fair’s “Launch” button, or when it is manually enabled using the shield button. It accomplishes this by making temporary edits to the system’s /etc/hosts file to redirect the DNS lookup of the telemetry servers.

Privacy mode will be automatically de-activated after the specified duration (which defaults to 1 minute). It is also disabled when quitting App Fair.app.

In addition, once installed, the privacy mode can be enabled by running the following command from Terminal.app:

$ ~/Library/Application\ Scripts/app.App-Fair/applaunchprivacy enable

Note that when enabling the privacy mode manually, it will not automatically expire, but will remain enabled until it is manually deactivated with the command:

$ ~/Library/Application\ Scripts/app.App-Fair/applaunchprivacy disable

App Launch Privacy mode should not be left permanently enabled, because it may prevent certificate revocation checks from taking place.

You can check the status of App Launch Privacy mode by running the tool with no arguments:

$ ~/Library/Application\ Scripts/app.App-Fair/applaunchprivacy

Or you can just check for the blocked entries manually by running:

$ cat /etc/hosts

More information on the topic of tracking app launches can be found here.

Homebrew Cask FAQs

What are Homebrew Casks?

The Homebrew project, started in 2009, is a free and open-source package management system that makes it simple to install third-party applications, whose installation specifications are called “casks”.

App Fair.app integrates with Homebrew to provide convenient access to the thousands of apps that are available in the Homebrew Cask catalog.

Read more about Homebrew at https://brew.sh, and at the Casks documentation.

Where are Casks hosted?

Individual casks are hosted on the developer’s site, from where they will be downloaded by App Fair.app and verified using the published SHA-256 checksum.

How quickly are Cask updates made available on the App Fair?

Once a third-party Cask update passes through the Homebrew Cask update process, it should be automatically available in the App Fair once the catalog is next updated. The catalog is typically regenerated once an hour.

Is every Homebrew cask available on the App Fair?

Only Homebrew casks that contain installable applications (as opposed to servers, daemons, or command-line tools) are displayed in the App Fair by default. This is controlled by the Homebrew preference pane’s “Show casks without app artifacts” toggle. Note that if you install a cask without an associated launchable app, the App Fair’s “Launch” button will not be usable for that cask.

In addition, casks that have dependencies are also not installed by default. App Fair.app does not support dependency installation by default, but some casks that have dependencies may work. You can enable this feature with the “Automatically install dependencies” toggle in the Homebrew preferences tab.

There may be other factors that prevent a cask from being displayed in the App Fair. A complete list of the App Fair’s casks is available at https://appfair.net/appcasks. This can be compared to the list of all Homebrew Casks at https://formulae.brew.sh/cask.

App Creator FAQs

How can I get my app in the App Fair?

The App Fair.app supports two separate catalog channels:

  1. Homebrew Casks: this community-driven project publishes an index of third-party apps and information about how to download and install them. You can learn more at https://brew.sh.
  2. Fairground Apps: these open-source SwiftUI apps are included in an index of the forks of a base SwiftUI app repository. Learn more at https://appfair.net.

If you are starting a brand-new green-field open-source SwiftUI project, and would like the services that are provided by appfair.net such as the automated build and release process, landing page generation, support for issues and discussions, and screenshot and icon previews, you can become an App Fair Creator with appfair.net’s Quick Start Guide.

If, on the other hand, you already having an existing notarized Mac app that you are distributing, you can add it to the Homebrew Casks index by following the directions in their Cask Cookbook.

How can I add, update, or remove my app’s “Cask” information?

The App Fair uses the Homebrew casks API directly as the app list presented to users. If your app is already present in the list of available casks, you can submit a pull request to update or remove it.

If you would like to add your existing app to the Casks list, and if your app meets their required notability threshold, you can get it added by filing a pull request.

How can I customize how my app appears in the App Fair.app?

If your app is present in the Homebrew Casks but is lacking an icon (or is using the fallback /favicon.ico content from your app’s homepage), you can provide a supplementary app catalog entry with an icon and app screenshots by forking the appcasks repository into an organization whose verified domain matches the homepage of the app.

Creating a release in your forked appcasks.git repository with your app’s Cask token as the tag will allow you to attach binaries like AppIcon.png and screenshot_01-mac-dark-800x600.png that will then be automatically included in the app’s catalog representation when the catalog is next re-built (which happens at least once an hour).

To categorize the app, create a file named “category-NAME” in the releases file, where NAME is one of: business, developer-tools, education, entertainment, finance, games, graphics-design, healthcare-fitness, lifestyle, medical, music, news, photography, productivity, reference, social-networking, sports, travel, utilities, video, weather.

The file must contain only a byte (one newline). That file will be used for placing your app in the correct category. Only a single category is permitted; if multiple “category-NAME” files exist, it is undefined which one will be used.

README.md and RELEASE_NOTES.md files can also be included, which can contain simplified markdown (bold, italics, and links) describing the app and its latest release.

How can I list my app as available for sponsorship in App Fair.app?

Apps that are represented on the App Fair, regardless of their source catalog, can list themselves as being available for sponsorship in the form of financial patronage or other support.

Patronage is handled using the GitHub repository’s FUNDING.yml file, either in the source repo for a Fairapp or in the appcasks fork for the customization of an owned cask. Support for funding links is supported by redirecting the funding buttons and heart icons through to the app owner’s funding destination.

Further information on setting up your repository as being eligible for funding can be found in the GitHub documentation.

Note that the only funding platform currently supported is GitHub. More funding platforms are expected be added in the future.

Create a link formatted as https://www.appfair.app/fair?cask=<token>, where <token> is your cask’s token. This will take the user to a landing page that then tries to launch the App Fair.app and display the catalog item as well as offering the user a link to install the app directly.

For example, a link that directs the user to install Minecraft is: https://appfair.app/fair?cask=minecraft.

How can I submit an update to my app?

Apps that are distributed through appfair.net will have their updates automatically reflected in the catalog the next time it is generated (hourly).

For apps distributed through Homebrew Casks, updates can be registered by following these instructions.

Advanced User FAQs

How does the App Fair co-exist with an existing Homebrew installation?

The App Fair bundles Homebrew itself and stores it in a unique location at ~/Library/Application Support/app.App-Fair/appfair-homebrew/Homebrew/bin/brew. It uses the HOMEBREW_INSTALL_FROM_API mechanism to avoid needing to clone the entire cask repository and speed up the process of managing cask apps.

Before invoking the brew install command, App Fair.app will download cask artifacts to the ~/Library/Caches/Homebrew/downloads/ folder (subject to the Homebrew “Use integrated download manager” preference), which allows the app to track the progress of downloads and handle user cancellation.

Can I remove an app using the command line?

Your local brew command can be used to manage your Homebrew Casks.

$ ~/Library/Application\ Support/app.App-Fair/appfair-homebrew/Homebrew/bin/brew uninstall --cask rectangle
==> Uninstalling Cask rectangle
==> Removing App '/Applications/Rectangle.app'
==> Purging files for version 0.51,57 of Cask rectangle

App Fair Development FAQs

Where can I discuss features and improvements to the App Fair?

Bugs and issues should be reported via the App Fair GitHub issues page at https://github.com/App-Fair/App/issues.

Discussions about features and suggestions should be discussed on the GitHub discussions board for the project at https://github.com/App-Fair/App/discussions.

Real time discussion about the project can take place on the App Fair Discord.




Screenshots