---
title: "LinkBrowser API"
manual: "TYPO3 Explained"
version: "12.4"
permalink: "https://docs.typo3.org/permalink/t3coreapi:linkbrowser@12.4"
source: "ApiOverview/LinkHandling/LinkBrowserApi/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).

<a id="linkbrowser-api"></a>

# LinkBrowser API {#linkbrowser}

## Description {#linkbrowser-api-description}

Each tab rendered in the link browser has an associated link handler,
responsible for rendering the tab and for creating and editing of
links belonging to this tab.

Here is an example for a custom link handler in the link browser:

![](../../../Images/ManualScreenshots/Backend/CustomLinkBrowser.png)

In most use cases, you can use one of the link handlers provided by the Core.
For an example, see [Tutorial: Custom record link
browser](https://docs.typo3.org/permalink/t3coreapi:tablerecordlinkbrowsertutorials@12.4).

If no link handler is available to deal with your link type, you can create
a custom link handler. See [Tutorial: Create a custom link
browser](https://docs.typo3.org/permalink/t3coreapi:tutorial-github-link-handler@12.4).

### Tab registration {#linkbrowser-api-tab-registration}

LinkBrowser tabs are registered in page TSconfig like this:

**EXT:some_extension/Configuration/page.tsconfig**

```typoscript
TCEMAIN.linkHandler.<tabIdentifier> {
    handler = TYPO3\CMS\Backend\LinkHandler\FileLinkHandler
    label = LLL:EXT:backend/Resources/Private/Language/locallang_browse_links.xlf:file
    displayAfter = page
    scanAfter = page
    configuration {
        customConfig = passed to the handler
    }
}
```

<!-- TODO: no Markdown rendering for "versionchanged" -->

Due to the integration of EXT:recordlist into EXT:backend the namespace of
LinkHandlers has changed from
\TYPO3\CMS\Recordlist\LinkHandler
to
\TYPO3\CMS\Backend\LinkHandler.
For TYPO3 v12 the moved classes are available as an alias under the old
namespace to allow extensions to be compatible with TYPO3 v11 and v12.

The options `displayBefore` and `displayAfter` define the order how the various tabs are displayed in the LinkBrowser.

The options `scanBefore` and `scanAfter` define the order in which handlers are queried when determining the responsible
tab for an existing link.
Most likely your links will start with a specific prefix to identify them.
Therefore you should register your tab at least before the 'url' handler, so your handler can advertise itself as responsible for the given link.
The 'url' handler should be treated as last resort as it will work with any link.
