Skip to main content

Admin panel extension

Strapi's admin panel is a React-based single-page application that encapsulates all the features and installed plugins of a Strapi application. If the customization options provided by Strapi are not enough for your use case, you will need to extend Strapi's admin panel.

Extending Strapi's admin panel means leveraging its React foundation to adapt and enhance the interface and features according to the specific needs of your project, which might imply creating new components or adding new types of fields.

There are 2 use cases where you might want to extend the admin panel:

  • As a Strapi plugin developer, you want to develop a Strapi plugin that extends the admin panel everytime it's installed in any Strapi application.

    👉 This can be done by taking advantage of the Admin Panel API for plugins.

  • As a Strapi developer, you want to develop a unique solution for a Strapi user who only needs to extend a specific instance of a Strapi application.

    👉 This can be done by directly updating the /src/admin/app.[tsx|js] file, which can import any file located in /src/admin/extensions.

🤓 Additional resources
💡 Tip: Hot reloading while developing

In Strapi 5, the server runs in watch-admin mode by default, so the admin panel auto-reloads whenever you change its code. This simplifies admin panel and front-end plugins development. To disable this, run yarn develop --no-watch-admin (see CLI reference).