The concept of TYPO3 extensions
TYPO3 CMS is built entirely on extensions. Even the Core consists of modular "system extensions" — some mandatory, others optional.
Thousands of additional extensions are available via the TYPO3 Extension Repository (TER), with many more hosted on platforms like GitHub.
For Composer-based setups, TYPO3 can also pull in any PHP package from Packagist.
Thanks to its robust Extension API, TYPO3 can be extended in virtually any direction without compromising backward compatibility.
Notable system extensions
TYPO3’s core functionality is delivered through system extensions.
System extensions have the Composer type typo3-
In classic mode installations you can find them in directory
typo3/
.
Below are the most important ones and what they provide:
- typo3/cms-core
- Defines essential database tables (e.g., BE users, groups, pages, sys_*) and
default global configuration
(
core/
). It also provides a large set of foundational PHP classes.Configuration/ Default Configuration. php - typo3/cms-backend
- Powers the TYPO3 backend interface, including controllers, PHP classes, and Fluid templates needed to operate the admin environment.
- typo3/cms-frontend
- Handles frontend rendering. Key components include content object classes
in
frontend/
, which manage output for different content types.Classes/ Content Object - typo3/cms-extbase
- TYPO3’s MVC framework. Provides structure for extensions. Works alongside Fluid, which handles the "View" layer.
- typo3/cms-fluid
- A standalone templating engine and the "View" in TYPO3's MVC. This extension
includes templating logic and many ViewHelpers
(
fluid/
) to build flexible and reusable templates.Classes/ View Helpers - typo3/cms-install
- Contains the Install Tool, used for system setup, upgrades, and configuration.
You can use the get.typo3.or Composer helper to compile composer command for minimal, recommended and full TYPO2 installations
Scope of extensions: System, third-party or custom
The files for an extension are installed into a folder named vendor/
by Composer. See also vendor/.
In Classic mode installations they are found in typo3/sysext/ (system extensions) or typo3conf/ext/ (third-party and custom extensions).
Third-party and custom extensions
Third-party and custom extensions must have the Composer type typo3-
:
{
"name": "myvendor/my-extension",
"type": "typo3-cms-extension",
"...": "..."
}
The extension will be installed in the directory
vendor/ by Composer. Custom extension like sitepackages
or specialized extensions used only in one project can be kept under version
control in a directory like packages/. They are then
symlinked into vendor/
by Composer.
In Classic mode installations third-party extensions are installed into
typo3conf/ext/. Custom extensions can be kept in a
directory outside of the project root and symlinked into typo3conf/
or manually inserted in this directory.
System extensions
System extensions have the Composer type typo3-
:
{
"name": "typo3/cms-core",
"type": "typo3-cms-framework",
"...": "..."
}
Composer installs all TYPO3 extensions, including system extensions in the directory vendor/.
In Classic mode installations they are installed into typo3/sysext/.