---
title: "Extbase: Extension framework in TYPO3"
manual: "TYPO3 Explained"
version: "12.4"
permalink: "https://docs.typo3.org/permalink/t3coreapi:extbase@12.4"
source: "ExtensionArchitecture/Extbase/Index.rst"
rendered: "2026-10-21T15:29:37+00:00"
---

> [!WARNING]
> **Attention**
>
> TYPO3 v12 has reached end-of-life as of April 30th 2026 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 v12 here:
> [TYPO3 ELTS](https://typo3.com/services/extended-support-elts).

# Extbase: Extension framework in TYPO3 {#extbase}

Extbase is an extension framework to create TYPO3 frontend plugins and TYPO3
backend modules. Extbase can be used to develop extensions but it does not
have to be used.

## Overview {#extbase-start-overview}

Extbase is a framework for developing TYPO3 extensions, providing a structured
approach based on the [Model-View-Controller (MVC) pattern](https://de.wikipedia.org/wiki/Model_View_Controller).

## Key Principles {#extbase-start-principles}

Extbase follows principles of [Domain-Driven Design (DDD)](https://en.wikipedia.org/wiki/Domain-driven_design),
enabling developers to build well-structured domain models. By leveraging
object-oriented programming concepts and dependency injection, Extbase
promotes maintainability and testability.

## Integration with Fluid {#extbase-start-fluid-integration}

Extbase integrates seamlessly with [Fluid](https://docs.typo3.org/permalink/t3coreapi:fluid@12.4),
TYPO3's templating engine, for flexible rendering of frontend content.

## Database Interaction {#extbase-start-database-interaction}

Extbase offers a repository pattern and automatic data mapping to interact with
the database.

## Considerations {#extbase-start-considerations}

While Extbase is a supported and widely used framework within TYPO3, developers
should evaluate whether it fits their specific project needs, as performance
considerations may lead to different implementation strategies. For practical
guidance, refer to [extension tutorials](https://docs.typo3.org/permalink/t3coreapi:extension-tutorials@12.4), which
demonstrate best practices for using Extbase in various scenarios.

-   [Introduction](https://docs.typo3.org/permalink/t3coreapi:extbase-introduction-1@12.4)
-   [Reference](https://docs.typo3.org/permalink/t3coreapi:extbase-reference@12.4)
    -   [Domain](https://docs.typo3.org/permalink/t3coreapi:domain-concept-in-extbase@12.4)
        -   [Extbase model - extending AbstractEntity](https://docs.typo3.org/permalink/t3coreapi:extbase-model-extending-abstractentity@12.4)
            -   [Persistence](https://docs.typo3.org/permalink/t3coreapi:persistence@12.4)
            -   [Relations](https://docs.typo3.org/permalink/t3coreapi:relations-between-extbase-models@12.4)
            -   [Hydrating](https://docs.typo3.org/permalink/t3coreapi:hydrating-thawing-objects-of-extbase-models@12.4)
            -   [Localization](https://docs.typo3.org/permalink/t3coreapi:localization-of-extbase-models@12.4)
        -   [Repository](https://docs.typo3.org/permalink/t3coreapi:repository@12.4)
    -   [Controller](https://docs.typo3.org/permalink/t3coreapi:extbase-controller-1@12.4)
        -   [ActionController](https://docs.typo3.org/permalink/t3coreapi:actioncontroller@12.4)
        -   [Error action](https://docs.typo3.org/permalink/t3coreapi:error-action@12.4)
        -   [Property mapping](https://docs.typo3.org/permalink/t3coreapi:property-mapping@12.4)
        -   [Type converters](https://docs.typo3.org/permalink/t3coreapi:type-converters@12.4)
    -   [View](https://docs.typo3.org/permalink/t3coreapi:view@12.4)
    -   [URI builder (Extbase)](https://docs.typo3.org/permalink/t3coreapi:uri-builder-extbase@12.4)
    -   [Registration of frontend plugins](https://docs.typo3.org/permalink/t3coreapi:registration-of-frontend-plugins@12.4)
    -   [TypoScript configuration](https://docs.typo3.org/permalink/t3coreapi:typoscript-configuration@12.4)
    -   [Annotations](https://docs.typo3.org/permalink/t3coreapi:annotations@12.4)
    -   [Validation](https://docs.typo3.org/permalink/t3coreapi:validation@12.4)
        -   [Custom Validator](https://docs.typo3.org/permalink/t3coreapi:custom-extbase-validator-implementation@12.4)
    -   [File upload](https://docs.typo3.org/permalink/t3coreapi:file-upload@12.4)
    -   [Caching](https://docs.typo3.org/permalink/t3coreapi:caching@12.4)
    -   [Localization](https://docs.typo3.org/permalink/t3coreapi:localization@12.4)
    -   [URI arguments and reserved keywords](https://docs.typo3.org/permalink/t3coreapi:uri-arguments-and-reserved-keywords@12.4)
-   [Examples](https://docs.typo3.org/permalink/t3coreapi:extbase-examples@12.4)
