---
title: "TSconfig"
manual: "TYPO3 Explained"
version: "11.5"
permalink: "https://docs.typo3.org/permalink/t3coreapi:tsconfig@11.5"
source: "Configuration/Tsconfig.rst"
rendered: "2026-10-21T15:30:00+00:00"
---

> [!WARNING]
> **Attention**
>
> TYPO3 v11 has reached end-of-life as of October 31th 2024 and
> is no longer being maintained. Use the version switcher on the top
> left of this page to select documentation for a supported version of TYPO3.
>
> Need more time before upgrading?
> You can purchase Extended Long Term Support (ELTS) for TYPO3 v11 here:
> [TYPO3 ELTS](https://typo3.com/services/extended-support-elts).

# TSconfig {#tsconfig}

"User TSconfig" and "page TSconfig" are very flexible concepts for
adding fine-grained configuration to the backend of TYPO3. It is a text-
based configuration system where you assign values to keyword strings,
using the TypoScript syntax. The [TSconfig Reference](https://docs.typo3.org/m/typo3/reference-tsconfig/11.5/en-us/Index.html)
describes in detail how this works and what can be done with it.

## User TSconfig {#tsconfig-user}

User TSconfig can be set for each backend user and group.
Configuration set for backend groups is inherited by the user who is a
member of those groups. The available options typically cover user
settings like those found in the User Settings,
configuration of the "Admin Panel" (frontend), various backend tweaks
(lock user to IP, show shortcut frame, may user clear all cache?, etc.)
and backend module configuration
(overriding any configuration set for backend modules in Page
TSconfig).

## Page TSconfig {#tsconfig-page}

Page TSconfig can be set for each page in the page tree. Pages
inherit configuration from parent pages. The available
options typically cover backend module configuration, which means that
modules related to pages (typically those in the **Web** main module)
can be configured for different behaviours in different branches of the tree.
It also includes configuration for the [FormEngine](https://docs.typo3.org/permalink/t3coreapi:formengine@11.5) (Forms
to edit content in TYPO3) and the [DataHandler](https://docs.typo3.org/permalink/t3coreapi:datahandler-basics@11.5)
(component that takes care of transforming and persisting data
structures) behaviours. Again, the point is that the configuration is
active for certain branches of the page tree which is very practical
in projects running many sites in the same page tree.

### Get Page TSConfig via PHP in an extension {#get-page-tsconfig-via-php-in-an-extension}

When there is the necessity for fetching and loading PageTSconfig,
it is recommended for extension developers to make use of the PHP classes:

-   `\TYPO3\CMS\Core\Configuration\Loader\PageTsConfigLoader`
-   `\TYPO3\CMS\Core\Configuration\Parser\PageTsConfigParser`

Usage for fetching all available PageTS in one large string (not parsed yet):

**EXT:some_extension/Classes/SomeClass.php**

```php
$loader = GeneralUtility::makeInstance(PageTsConfigLoader::class);
$tsConfigString = $loader->load($rootLine);
```

The string can then be put in proper TSconfig array syntax:

**EXT:some_extension/Classes/SomeClass.php**

```php
$parser = GeneralUtility::makeInstance(
   PageTsConfigParser::class,
   $typoScriptParser,
   $hashCache
);
$pagesTSconfig = $parser->parse(
   $tsConfigString,
   $conditionMatcher
);
```
