HomeGuidesInternationalized domain names
DNS & protocol

Internationalized domain names

A-labels, U-labels and Punycode, and why a good TLD index should make native-script labels first-class search targets.

On this page
TL;DR

IDNs let domain labels be displayed in Unicode scripts while remaining compatible with the ASCII DNS protocol. The ASCII-compatible form is the A-label, usually beginning with xn--; the Unicode presentation is the U-label.

One label, two useful forms

An internationalized domain name can have a user-facing Unicode representation and an ASCII-compatible DNS representation. Those are commonly discussed as the U-label and A-label.

Search both

A reference interface should make an IDN TLD discoverable from its native-script form and its xn-- A-label.

Where Punycode fits

Punycode is the encoding used by IDNA to represent non-ASCII labels in the ASCII label form. A-labels are recognizable by the xn-- prefix, but the prefix alone is not a substitute for proper IDNA processing and validation.

Canonical URLs

For static site routing, an ASCII A-label is a stable canonical path component. The page can then render the Unicode label prominently for humans while also exposing the A-label as technical metadata.

Recommended page model
/tld/xn--…/Canonical route
Native-script TLDPrimary display label
A-label metadataTechnical form remains visible and searchable

IDN tables are separate

IANA's IDN Practices Repository contains registry-published IDN tables. Those tables describe registration practices for labels beneath a TLD; they should not be misread as a translation or definition of the TLD string itself.

Primary sources

These are the primary references this guide is designed around. When implementation data disagrees with editorial copy, the primary source wins.