---
title: "Rendering in the Frontend"
manual: "TYPO3 Explained"
version: "12.4"
permalink: "https://docs.typo3.org/permalink/t3coreapi:rte-rendering-frontend@12.4"
source: "ApiOverview/Rte/RenderingInTheFrontend/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).

# Rendering in the Frontend {#rte-rendering-frontend}

The explanations on this page don't show how to display an RTE but rather, describe how
rendering of content should be done in the frontend when it was entered with help
of an RTE.

> [!NOTE]
> For including an RTE in the frontend you can read [Using an RTE in the frontend](https://docs.typo3.org/permalink/t3coreapi:rte-frontend-introduction@12.4).

## Fluid templates {#fluid-templates}

Rendering in TYPO3 is nowadays done mostly with Fluid templates.

RTEs enrich content in most cases with HTML, therefore it's advisable to use
the Fluid ViewHelper `format.html` for this kind of content:

```xml
<f:format.html><p>Visit the <a href="t3://page?uid=51">example page</a>.</p></f:format.html>
```

The result might still be missing some important aspects. One example are links
of the form `t3://page?uid=51` that need to be processed. Usually those links should
be transformed already because the ViewHelper is using by default `lib.parseFunc_RTE`
to parse the content.

Nevertheless it's possible to define the parsing function explicitly and also to
define a different parsing function:

```xml
<f:format.html parseFuncTSPath="lib.parseFunc"><p>Visit the <a href="t3://page?uid=51">example page</a>.</p></f:format.html>
```

> [!NOTE]
> Details to `format.html` can be found in the [ViewHelper Reference](https://docs.typo3.org/other/typo3/view-helper-reference/12.4/en-us/Global/Format/Html.html#typo3-fluid-format-html).

## TypoScript {#typoscript}

Rendering is sometimes done by TypoScript only, in those cases it's possible to
use `lib.parseFunc_RTE` too for parsing:

```typoscript
20 = TEXT
20.value = Visit the <a href="t3://page?uid=51">example page</a>.
20.wrap = <p>|</p>
20.stdWrap.parseFunc < lib.parseFunc_RTE
```

So for fields of the content-table in the database the TypoScript could look like this:

```typoscript
20 = TEXT
20.field = bodytext
20.wrap = <p>|</p>
20.stdWrap.parseFunc < lib.parseFunc_RTE
```

> [!NOTE]
> Usually the TypoScript function `typolink` should be used for single links,
> but for text that might include several links that is not possible easily.
> Therefore `lib.parseFunc_RTE` is used to simplify and streamline this process.
>
> Details to `parseFunc` can be found in the TypoScript Reference:
>
> -   [TypoScript Reference: parseFunc](https://docs.typo3.org/m/typo3/reference-typoscript/12.4/en-us/Functions/Parsefunc.html#parsefunc)
> -   [TypoScript Reference: stdWrap.parseFunc](https://docs.typo3.org/m/typo3/reference-typoscript/12.4/en-us/Functions/Stdwrap.html#stdwrap-parseFunc)
> -   [TypoScript Reference: TEXT](https://docs.typo3.org/m/typo3/reference-typoscript/12.4/en-us/ContentObjects/Text/Index.html#cobj-text)

## Further details {#further-details}

The transformation process during content-rendering is highly configurable.
You can find further information here:

-   [RTE Transformations](https://docs.typo3.org/permalink/t3coreapi:transformations@12.4)
-   [Historical Perspective on RTE Transformations](https://docs.typo3.org/permalink/t3coreapi:appendix-a@12.4)
