SharePoint

What are SPFx extensions?

By Suresh Girinathuni

Quick answer

SPFx extensions extend the SharePoint chrome around content rather than adding page web parts. Application Customizers run on every page of a site for headers, footers, placeholders, and page-level logic; Field Customizers change how a column renders in list views; ListView Command Sets add buttons to the command bar for selected items. Like web parts they deploy as .sppkg through the app catalog with admin-approved API permissions, and they run client-side in the current user’s context.

Key takeaways

  • Application, Field, and Command Set types cover page, column, and bar.
  • Same .sppkg catalog deployment and permission model as web parts.
  • Experiential customization only — never depend on page DOM.

Detailed Explanation

SPFx extensions extend the SharePoint chrome around content rather than adding page web parts. Application Customizers run on every page of a site for headers, footers, placeholders, and page-level logic; Field Customizers change how a column renders in list views; ListView Command Sets add buttons to the command bar for selected items. Like web parts they deploy as .sppkg through the app catalog with admin-approved API permissions, and they run client-side in the current user’s context.

How it works

At page load SharePoint invokes registered placeholders and lifecycle hooks — Application Customizers render into named header and footer slots, Field Customizers replace cell rendering per row, and Command Sets evaluate selection state before enabling buttons. All three execute in the page context under the current user, so permissions are inherited, never elevated.

Limitations and considerations

Extensions cannot change SharePoint’s underlying data model or escape client-side boundaries; DOM-dependent hacks break on Microsoft updates — use the supported placeholder and lifecycle APIs only.

For broader context, see the SharePoint Hub — it collects the guides around this topic.

When to use it

Reach for extensions when the need is experiential (branding chrome, column rendering, bulk row actions) rather than a new content surface — that is a web part’s job.

Practical example

A compliance banner injected by an Application Customizer appears on every finance-site page, while a Field Customizer renders risk scores as color-coded pills in the register view.

Sources