---
title: "Backend modules API"
manual: "TYPO3 Explained"
version: "14.3"
permalink: "https://docs.typo3.org/permalink/t3coreapi:backend-modules@14.3"
source: "ApiOverview/Backend/BackendModules/Index.rst"
rendered: "2026-10-01T15:20:05+00:00"
---

# Backend modules API {#backend-modules}

This chapter describes the API that can be used to create custom backend modules
in extensions. See the following chapter for a tutorial on [how to create
custom backend modules](https://docs.typo3.org/permalink/t3coreapi:backend-modules-how-to@14.3).

**[Backend GUI](https://docs.typo3.org/permalink/t3coreapi:backend-gui@14.3)**

Describes the graphical user interface structure of a backend module
and defines how the different parts are called.

**[Backend module configuration](https://docs.typo3.org/permalink/t3coreapi:backend-modules-configuration@14.3)**

Howto register custom modules provided by extensions.

**[Toplevel modules](https://docs.typo3.org/permalink/t3coreapi:backend-modules-toplevel-module@14.3)**

Lists all toplevel modules available by default and explains how to
register custom toplevel modules.

**[ModuleProviderAPI](https://docs.typo3.org/permalink/t3coreapi:backend-module-interface@14.3)**

The `ModuleProvider` API, allows extension authors to work with the
registered modules.

**[BeforeModuleCreationEvent](https://docs.typo3.org/permalink/t3coreapi:beforemodulecreationevent@14.3)**

The PSR-14 [BeforeModuleCreationEvent](https://docs.typo3.org/permalink/t3coreapi:beforemodulecreationevent@14.3)
allows extension authors to manipulate the module configuration before
it is used to create and register the module.

**[Button components](https://docs.typo3.org/permalink/t3coreapi:button-components@14.3)**

The menu button bar of a backend module can hold various components.

**[Override backend templates](https://docs.typo3.org/m/typo3/reference-typoscript/14.3/en-us/PageTsconfig/Templates.html#pagetemplates)**

Backend templates can be overridden via page TSconfig. But you
should be careful: backend templates are mostly not API and can
break on updates.

**[Tutorial and how to](https://docs.typo3.org/permalink/t3coreapi:backend-modules-how-to@14.3)**

Learn how to create a backend module step-by-step.

-   [Modules.php](https://docs.typo3.org/permalink/t3coreapi:modules-php-backend-module-configuration@14.3)
    -   [3rd level](https://docs.typo3.org/permalink/t3coreapi:third-level-modules-module-functions@14.3)
    -   [Toplevel](https://docs.typo3.org/permalink/t3coreapi:toplevel-modules@14.3)
-   [Access Gates](https://docs.typo3.org/permalink/t3coreapi:backend-module-access-gates-1@14.3)
-   [Backend GUI](https://docs.typo3.org/permalink/t3coreapi:backend-gui-1@14.3)
-   [DocHeaderComponent](https://docs.typo3.org/permalink/t3coreapi:docheadercomponent-1@14.3)
-   [ModuleData](https://docs.typo3.org/permalink/t3coreapi:module-data-object@14.3)
-   [ModuleInterface](https://docs.typo3.org/permalink/t3coreapi:moduleinterface@14.3)
-   [ModuleProvider](https://docs.typo3.org/permalink/t3coreapi:moduleprovider@14.3)
-   [ModuleTemplate](https://docs.typo3.org/permalink/t3coreapi:moduletemplate-1@14.3)
-   [ModuleTemplateFactory](https://docs.typo3.org/permalink/t3coreapi:moduletemplatefactory-1@14.3)
-   [TypoScript](https://docs.typo3.org/permalink/t3coreapi:typoscript-configuration-of-modules@14.3)
-   [Sudo mode](https://docs.typo3.org/permalink/t3coreapi:sudo-mode-in-typo3-backend-modules@14.3)
