Extension installation

This tutorial assumes that your TYPO3 instance is a brand new installation, without any themes, templates, pages or content. See the TYPO3 Installation Guide for a detailed explanation how to set up a TYPO3 instance from scratch.

We highly recommend to use the Composer -based installation process. During development you should work locally on your machine for example by running TYPO3 on ddev.

If you need to follow the legacy way of installation, see Site package installation without Composer.

Extension installation in Composer mode

Starting with TYPO3 11.4 if composer is used, all extensions, including the site package extension must be installed via Composer.

As a site package is usually developed together with the site-specific files it is usually desirable to keep them together in a version control system like Git.

Therefore create a directory for all locally version-controlled extension at root-level of your Composer -based installation. The name is arbitrary, we use local_packages here.

Then edit your composer.json in the root of your installation directory to add the path as a local repository.

Add the following lines:

   "name": "myvendor/my-project",
   "repositories": [
         "type": "path",
         "url": "./local_packages/*"
   "require": {
      "typo3/cms-core": "11.4",
      "..." : "..."
   "..." : "..."

Move your the extension folder site_package directly into the folder local_packages. Then require the extension via Composer using the name defined in the site package extensions composer.json now located at local_packages/site_package/. For example if you defined the name as

   "name": "myvendor/site-package-myproject"

require it by:

composer require myvendor/site-package-myproject:@dev


Starting with TYPO3 11.4 all extensions required via Composer are automatically considered active. In previous versions it is still necessary to activate the extension after the Composer-based installation via the Extension Manager.