▲ Quick answer

An internationalized domain name (IDN) is a domain that uses characters beyond basic Latin a–z — such as Arabic, Chinese, Cyrillic or accented letters. Because the underlying DNS only understands a limited ASCII character set, IDNs are encoded into ASCII using Punycode (strings beginning xn--), while your browser displays the readable native-script version. IDNs make the web usable in people’s own languages, with one security quirk — look-alike characters — to be aware of.

For most of its history, the domain name system spoke only a narrow slice of the Latin alphabet. That worked for English but excluded the billions of people whose languages use other scripts. Internationalized domain names fixed that, letting a web address — sometimes including its extension — appear entirely in Arabic, Chinese, Cyrillic, Devanagari and more. Here is how that is made to work.

What is an IDN?

An IDN is simply a domain name containing non-ASCII characters. Where a traditional domain is limited to letters a–z, digits 0–9 and hyphens, an IDN can include the characters of scripts such as Arabic, Chinese, Cyrillic, Greek, Hebrew or Hangul — as well as accented Latin letters like é, ü or ñ. The goal is straightforward: let people register and read addresses in the language they actually use.

IDN

An internationalized domain name — a domain that contains characters from non-ASCII scripts, encoded into ASCII via Punycode so the existing DNS can resolve it.

How do IDNs work behind the scenes?

The DNS itself was never designed for Unicode, so IDNs use a clever translation layer. A name in a non-Latin script is converted, character by character, into a compatible ASCII string through an encoding called Punycode. That encoded form — recognisable by its xn-- prefix — is what travels through the DNS and is stored in the registry. Your browser does the reverse: it takes the xn-- string and renders the friendly, native-script name on screen.

How an IDN is represented at each layer. The Punycode form is illustrative of the format, not a specific real domain.
LayerWhat it looks like
What the user seesA name in their own script (Arabic, Chinese, Cyrillic, etc.)
Punycode (ASCII)An encoded string beginning xn--
What the DNS resolvesThe xn-- form — ordinary ASCII to the DNS

This design is what lets IDNs coexist with the existing system: to the DNS, an IDN is just another ASCII name. All the multilingual magic happens at the encoding and display layers, on top of the same hierarchy described in how the DNS hierarchy works.

What are IDN ccTLDs?

IDNs don’t stop at the part you register — the extension can be internationalized too. An IDN ccTLD is a country-code top-level domain written in a non-Latin script, so that an entire address, end to end, can appear in the local language. These were introduced so that countries using Arabic, Chinese, Cyrillic and other scripts could have fully native web addresses, and they sit in the root zone alongside the familiar two-letter Latin ccTLDs.

They are a natural extension of the country-code system — the same idea as a traditional ccTLD, expressed in the local writing system. For the foundations, see what is a ccTLD and country-code domains explained.

What is the look-alike (homograph) risk?

IDNs introduce one genuine security consideration. Many scripts contain characters that look identical or nearly identical to Latin letters — the Cyrillic “а”, for instance, is visually the same as the Latin “a.” This opens the door to homograph attacks, where a malicious domain mimics a trusted one by swapping in look-alike characters, so the address appears legitimate at a glance.

!

How browsers protect users

Modern browsers mitigate this by displaying the raw xn-- Punycode form (rather than the pretty native-script version) when a name mixes scripts suspiciously or otherwise looks like a spoofing attempt. Registries also apply rules to limit dangerous mixing. For a name in a single, expected script, IDNs are not a concern.

Should you use an IDN?

It comes down to your audience:

  • Use an IDN when your audience reads a non-Latin script and an address in their own language improves accessibility, trust and local appeal.
  • Stick with a standard Latin domain for a global or English-speaking audience, where it is easier to type across keyboards and displays consistently everywhere.

Many organisations do both — a Latin domain as the primary, plus an IDN for local audiences, pointing to the same site. As always, weigh it against the broader question of how to choose a domain extension for your specific situation.

★ Key takeaways

  • An IDN is a domain using non-Latin characters — Arabic, Chinese, Cyrillic, accented Latin and more.
  • IDNs are encoded into ASCII via Punycode (xn--) so the existing DNS can resolve them.
  • IDN ccTLDs let the extension itself appear in a local script.
  • The main risk is look-alike homograph spoofing, which browsers counter by showing Punycode in suspicious cases.

Frequently asked questions

What is an internationalized domain name?

An internationalized domain name (IDN) is a domain that uses characters outside the basic Latin set — such as Arabic, Chinese, Cyrillic, or accented letters like é or ü. IDNs let people register and read web addresses in their own language and script, rather than being limited to a–z.

What is Punycode?

Punycode is the encoding that converts a Unicode domain (like an Arabic or Chinese name) into an ASCII string the DNS can process. An IDN is stored and transmitted in its Punycode form, which begins with the prefix xn--, while browsers display the readable native-script version to users.

What is an IDN ccTLD?

An IDN ccTLD is a country-code top-level domain written in a non-Latin script — for example, country extensions in Arabic, Chinese or Cyrillic. They let an entire address, including the extension, appear in the local language. They sit alongside the traditional two-letter Latin ccTLDs in the root zone. See what is a ccTLD.

Are IDNs safe to use?

IDNs are a legitimate, standardised part of the DNS, but they introduce one risk: homograph attacks, where characters from different scripts look identical (a Latin “a” versus a Cyrillic “а”) and can be used to mimic a trusted domain. Browsers mitigate this by showing Punycode in suspicious cases. Used normally for your own language, IDNs are fine.

Should I register an IDN for my website?

It makes sense if your audience reads a non-Latin script and you want an address in their language — it improves accessibility and local appeal. For a global or English-speaking audience, a standard Latin domain is usually simpler, since IDNs can be harder to type on some keyboards and occasionally display inconsistently.

Sources & further reading