---
title: "Feature: #97536 - Unified API for generating typolinks"
manual: "TYPO3 Core Changelog"
version: "main"
permalink: "https://docs.typo3.org/permalink/changelog:feature-97536-1651523601"
source: "Changelog/12.1/Feature-97536-UnifiedAPIForGeneratingTypolinks.rst"
typo3-version: "12.1"
typo3-major: 12
type: "feature"
issue: 97536
forge: "https://forge.typo3.org/issues/97536"
tags: ["Frontend", "PHP-API", "ext:frontend"]
rendered: "2026-09-25T23:17:45+00:00"
---

# Feature: #97536 - Unified API for generating typolinks {#feature-97536-1651523601}

See [forge#97536](https://forge.typo3.org/issues/97536)

## Description {#description}

A new `\TYPO3\CMS\Frontend\Typolink\LinkFactory` class is added to TYPO3
Core, which allows to generate any kind of links in the TYPO3 frontend - links
to files, pages, URLs, email, telephone links, or links to specific records,
such as news entries.

Previously, this functionality resided in `ContentObjectRenderer->typoLink()`
and `ContentObjectRenderer->typoLink_URL()` but was extracted into a
specific class, only dealing with the generation of links.

This class works with two main methods:

`LinkFactory->create()`
`LinkFactory->createUri()`

Both methods return a `LinkResultInterface` instance, which can be used
programmatically to render the results of the link generation for HTML output
via `LinkResult->getHtml()` or as JSON with `LinkResult->getJson()`.

## Impact {#impact}

For TypoScript or Fluid-based renderings, the base functionality for using
`ContentObjectRenderer->typoLink()` is still recommended. However, when
an extension developer wants to work with the raw result, the
`LinkResultInterface` and corresponding implementations for JSON and HTML
rendering allow for much more flexibility by accessing more information than
just the raw anchor tag.
