---
title: "Backend modules API"
manual: "TYPO3 Explained"
version: "main"
permalink: "https://docs.typo3.org/permalink/t3coreapi:backend-modules@main"
source: "ApiOverview/Backend/BackendModules/Index.rst"
rendered: "2026-09-21T11:24:09+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@main).

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

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@main)**

Howto register custom modules provided by extensions.

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

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@main)**

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

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

The PSR-14 [BeforeModuleCreationEvent](https://docs.typo3.org/permalink/t3coreapi:beforemodulecreationevent@main) 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@main)**

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

**[Override backend templates](https://docs.typo3.org/m/typo3/reference-typoscript/main/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@main)**

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

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