---
title: "Backend modules API"
manual: "TYPO3 Explained"
version: "13.4"
permalink: "https://docs.typo3.org/permalink/t3coreapi:backend-modules@13.4"
source: "ApiOverview/Backend/BackendModules/Index.rst"
rendered: "2026-09-28T12:45:33+00:00"
---

# Backend modules API {#backend-modules}

<!-- TODO: no Markdown rendering for "versionchanged" -->

Registration of backend modules was changed with version 12. Read more:
Backend module configuration.

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@13.4).

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

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

Howto register custom modules provided by extensions.

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

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

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

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

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

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

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

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

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