---
title: "Create a new backend controller"
manual: "TYPO3 Explained"
version: "main"
permalink: "https://docs.typo3.org/permalink/t3coreapi:extension-make-backend-controller@main"
source: "ExtensionArchitecture/Kickstarter/Make/BackendController.rst"
rendered: "2026-09-24T12:36:55+00:00"
---

# Create a new backend controller {#extension-make-backend-controller}

If you do not have one yet, [create a basic extension](https://docs.typo3.org/permalink/t3coreapi:extension-make@main)
to put the controller in.

**Composer**

```bash
vendor/bin/typo3 make:backendcontroller
```

**Classic mode installation (no Composer)**

```bash
typo3/sysext/core/bin/typo3 make:backendcontroller
```

You will be prompted with a list of installed extensions. If your newly created
extension is missing, check if you installed it properly.

When prompted, choose a name and path for the backend controller. The following
files will be generated, new or changed files marked with a star (\*):

**Page tree of directory `src/extensions`**

```none
$ tree src/extensions
└── my-test
    ├── Classes
    |   └── Backend (*)
    |   |   └── Controller (*)
    |   |   |   └── MyBackendController.php (*)
    ├── Configuration
    |   ├── Backend (*)
    |   |   └── Routes.php (*)
    |   └── Services.yaml (*)
    └── composer.json
```

Learn how to turn the backend controller into a full-fledged backend module in
the chapter [Backend modules API](https://docs.typo3.org/permalink/t3coreapi:backend-modules@main).
