---
title: "Extbase: Extension framework in TYPO3"
manual: "TYPO3 Explained"
version: "13.4"
permalink: "https://docs.typo3.org/permalink/t3coreapi:extbase@13.4"
source: "ExtensionArchitecture/Extbase/Index.rst"
rendered: "2026-09-19T06:23:06+00:00"
---

# 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),
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@13.4), which
demonstrate best practices for using Extbase in various scenarios.

-   [Introduction](https://docs.typo3.org/permalink/t3coreapi:extbase-introduction-1@13.4)
-   [Reference](https://docs.typo3.org/permalink/t3coreapi:extbase-reference@13.4)
    -   [Domain](https://docs.typo3.org/permalink/t3coreapi:domain-concept-in-extbase@13.4)
        -   [Model](https://docs.typo3.org/permalink/t3coreapi:extbase-model-extending-abstractentity@13.4)
            -   [Property types](https://docs.typo3.org/permalink/t3coreapi:property-types-of-extbase-models@13.4)
            -   [Persistence](https://docs.typo3.org/permalink/t3coreapi:persistence-saving-extbase-models-to-the-database@13.4)
            -   [Relations](https://docs.typo3.org/permalink/t3coreapi:relations-between-extbase-models@13.4)
            -   [Hydrating](https://docs.typo3.org/permalink/t3coreapi:hydrating-thawing-objects-of-extbase-models@13.4)
            -   [Data transfer objects (DTO)](https://docs.typo3.org/permalink/t3coreapi:data-transfer-objects-dto-in-extbase@13.4)
            -   [Localization](https://docs.typo3.org/permalink/t3coreapi:localization-of-extbase-models@13.4)
        -   [Repository](https://docs.typo3.org/permalink/t3coreapi:extbase-repository-1@13.4)
    -   [Controller](https://docs.typo3.org/permalink/t3coreapi:extbase-controller-1@13.4)
        -   [ActionController](https://docs.typo3.org/permalink/t3coreapi:extending-the-actioncontroller@13.4)
        -   [Error action](https://docs.typo3.org/permalink/t3coreapi:error-action@13.4)
        -   [Property mapping](https://docs.typo3.org/permalink/t3coreapi:extbase-property-mapper@13.4)
        -   [Type converters](https://docs.typo3.org/permalink/t3coreapi:type-converters@13.4)
    -   [View](https://docs.typo3.org/permalink/t3coreapi:extbase-view-1@13.4)
    -   [URI builder](https://docs.typo3.org/permalink/t3coreapi:uri-builder-extbase@13.4)
    -   [Registration of frontend plugins](https://docs.typo3.org/permalink/t3coreapi:registration-of-frontend-plugins@13.4)
    -   [TypoScript configuration](https://docs.typo3.org/permalink/t3coreapi:typoscript-configuration@13.4)
    -   [Attributes](https://docs.typo3.org/permalink/t3coreapi:attributes-in-extbase@13.4)
    -   [Validation](https://docs.typo3.org/permalink/t3coreapi:using-validation-for-extbase-models-and-controllers@13.4)
        -   [Custom Validator](https://docs.typo3.org/permalink/t3coreapi:custom-extbase-validator-implementation@13.4)
        -   [List of Validators](https://docs.typo3.org/permalink/t3coreapi:built-in-validators-provided-by-extbase@13.4)
    -   [File upload](https://docs.typo3.org/permalink/t3coreapi:file-upload@13.4)
    -   [Caching](https://docs.typo3.org/permalink/t3coreapi:caching-in-extbase-plugins@13.4)
    -   [Localization](https://docs.typo3.org/permalink/t3coreapi:localization@13.4)
    -   [URI arguments](https://docs.typo3.org/permalink/t3coreapi:uri-arguments-and-reserved-keywords@13.4)
-   [Examples](https://docs.typo3.org/permalink/t3coreapi:extbase-examples-1@13.4)
