---
title: "Deprecation: #87894 - GeneralUtility::idnaEncode"
manual: "TYPO3 Core Changelog"
version: "main"
permalink: "https://docs.typo3.org/permalink/changelog:deprecation-87894"
source: "Changelog/10.0/Deprecation-87894-GeneralUtilityidnaEncode.rst"
typo3-version: "10.0"
typo3-major: 10
type: "deprecation"
issue: 87894
forge: "https://forge.typo3.org/issues/87894"
tags: ["PHP-API", "FullyScanned", "ext:core"]
rendered: "2026-10-03T08:19:36+00:00"
---

# Deprecation: #87894 - GeneralUtility::idnaEncode {#deprecation-87894}

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

## Description {#description}

PHP has the native function `idn_to_ascii($domain, IDNA_DEFAULT, INTL_IDNA_VARIANT_UTS46)` for converting UTF-8 based domains to ascii-based ("punicode")
which is available in all supported PHP versions using `"symfony/polyfill-intl-idn"`.

For this reason the method `GeneralUtility::idnaEncode()` has been marked as deprecated.

## Impact {#impact}

Calling `GeneralUtility::idnaEncode()` directly will trigger a PHP `E_USER_DEPRECATED` error.

## Affected Installations {#affected-installations}

Any TYPO3 installation with third-party extensions calling this method.

## Migration {#migration}

Use `idn_to_ascii($domain, IDNA_DEFAULT, INTL_IDNA_VARIANT_UTS46);` instead.

Please be aware that contrary to `GeneralUtility::idnaEncode()` the native PHP function only works on domain names, not email addresses or
similar. In order to encode email addresses split the address at the last `'@'` and use `idn_to_ascii()` on that last part.
Also, if there is an error in converting a string, a bool `false` is returned.
