---
title: "Create plugins"
manual: "TYPO3 Explained"
version: "12.4"
permalink: "https://docs.typo3.org/permalink/t3coreapi:create-plugins@12.4"
source: "ApiOverview/ContentElements/CreatePlugins.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).

# Create plugins {#create-plugins}

How to create plugins with the Extbase framework and Fluid templating engine
is handled in depth in the chapter
[Registration of frontend plugins](https://docs.typo3.org/permalink/t3coreapi:extbase-registration-of-frontend-plugins@12.4).

There are basically two ways to create frontend plugins in TYPO3:

1.  With the Extbase framework using `configurePlugin()` in the file
    [`ext_localconf.php`](../../ExtensionArchitecture/FileStructure/ExtLocalconf.md#file-extension-ext-localconf-php) and `registerPlugin()` in the file
    [`Configuration/TCA/Overrides/tt_content.php`](../../ExtensionArchitecture/FileStructure/Configuration/TCA/Index.md#file-extension-configuration-tca-tablename-php)
1.  Create a plugin using Core functionality (without Extbase) and a custom controller

Generally speaking, if you already use **Extbase**, it is good practice to
create your plugins using the Extbase framework. This also involves:

-   creating controller actions
-   create a domain model and repository (if your plugin requires records
    that are persisted in the database)
-   create a view using Fluid templates
