The SharePoint App Catalog, explained

Last updated:

The App Catalog is a special SharePoint site collection, one per tenant, where SharePoint Framework packages (.sppkg) and add-ins are uploaded before anybody in the organisation can use them. Nothing custom reaches a SharePoint page without passing through it.

You reach it from the SharePoint admin center under More features → Apps. If your tenant has never deployed a custom component, it probably does not exist yet — which is normal, not a misconfiguration. A SharePoint administrator creates it once, in a couple of minutes, and it then serves the whole tenant forever.

Its real job is not storage. It is the single control point: one library that answers what custom code runs in your tenant, who put it there and when — which is exactly the question an audit asks and the reason it is worth keeping tidy.

Checking whether you have one, and creating it

  1. Go to the SharePoint admin center (https://<tenant>-admin.sharepoint.com).
  2. Open More features and find the Apps tile, then Open.
  3. If you land on a page offering to create the App Catalog site, you do not have one. Choose to create it and accept the suggested URL — it is conventionally /sites/appcatalog.
  4. If you land on a page with Apps for SharePoint and Apps for Office, it already exists.

Creating it takes a few minutes to provision. It requires the SharePoint Administrator role — not Global Administrator. The catalog is a real site collection: it consumes a small amount of storage and shows up in your site list, which occasionally surprises people doing an inventory.

What lives inside it

LibraryWhat goes in it
Apps for SharePointSharePoint Framework packages (.sppkg) and classic add-ins. This is the one you will use.
Apps for OfficeOffice add-ins (Word, Excel, Outlook). Unrelated to SPFx.
Tenant Wide ExtensionsThe list that controls which extensions (application customizers, field customizers, command sets) are active tenant-wide. Worth knowing about: it is where you disable a misbehaving extension without deleting its package.

The Apps for SharePoint library is a normal document library with extra columns, which means you can add a view, sort by Modified and see at a glance what has been deployed recently. For governance that is more useful than it sounds.

Tenant catalog vs site catalog

There are two kinds, and mixing them up causes real confusion:

Tenant App CatalogSite collection App Catalog
ScopeThe whole tenantOne site collection
Who creates itSharePoint AdministratorEnabled per site, by an administrator
Enabled by defaultNo, but it is the normal pathNo — off in most tenants
API permission requestsApproved centrally, from the admin centerNot supported
Typical useEverythingLetting one department test a package without tenant-wide deployment

If someone suggests the site collection catalog to avoid involving IT, be aware of the trade-off: it does not support API permission requests, so any package that needs one will not work there. It is a testing tool, not a governance shortcut.

Frequently asked questions

Do we need an App Catalog if we only use built-in SharePoint?

No. Out-of-the-box web parts, lists, pages and Microsoft's own features work without one. You need it the first time you want to deploy anything custom — a third-party web part, an in-house SPFx solution, or an extension.

Can we delete the App Catalog once we have one?

You can, but everything deployed from it stops working. Treat it as permanent tenant infrastructure. If the goal is to remove a specific package, delete that package from the Apps for SharePoint library instead.

Who should have access to the App Catalog site?

As few people as possible, and by role rather than individually. Anyone who can upload to Apps for SharePoint can effectively deploy code to your intranet, so it belongs with the SharePoint administrators. It is worth reviewing its permissions when you audit privileged access, because it is easy to forget it exists.

How do we see what is currently deployed?

Open the Apps for SharePoint library and look at the list. Each row shows the package, its version and whether it is deployed. For extensions specifically, check the Tenant Wide Extensions list, which shows what is running on pages across the tenant even when nobody has placed a web part manually.