---
title: "Frontend plugin"
manual: "TYPO3 Explained"
version: "12.4"
permalink: "https://docs.typo3.org/permalink/t3coreapi:frontend-plugin@12.4"
source: "ExtensionArchitecture/HowTo/FrontendPlugin/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).

# Frontend plugin {#frontend-plugin}

The term "frontend plugin" describes a part of a TYPO3 extension that is
handled like a content element (can be inserted like a record/element in
the TYPO3 backend by editors), which will deliver dynamic output when
rendered in the frontend. The distinction and boundaries to regular content
are sometimes not easy to draw, because also "regular" content elements
are often able to perform dynamic output (for example with TypoScript
configuration, Fluid data processors or ViewHelpers).

For a long time, TYPO3 provided a "General Plugin" to be selected as a
content element (setting the content record `CType` to `'list'`), and then the sub-type
would indicate which kind of frontend plugin to be used
(setting the content record `list_type`). It is recommended to only
use the `CType` based registration.

There are different technology choices to create frontend plugins in TYPO3.

For pure output it is often sufficient to use a
[FLUIDTEMPLATE](https://docs.typo3.org/m/typo3/reference-typoscript/12.4/en-us/ContentObjects/Fluidtemplate/Index.html#cobj-fluidtemplate) in combination with
[DataProcessors](https://docs.typo3.org/m/typo3/reference-typoscript/12.4/en-us/DataProcessing/Index.html#dataProcessing). See also
[Creating a custom content element](https://docs.typo3.org/permalink/t3coreapi:adding-your-own-content-elements@12.4).

For scenarios with user input and or complicated data operations consider
using [Extbase](https://docs.typo3.org/permalink/t3coreapi:extbase@12.4) (specifically
[Registration of frontend plugins](https://docs.typo3.org/permalink/t3coreapi:extbase-registration-of-frontend-plugins@12.4)).

It is also possible to create a frontend plugin using Core functionality
only.
