Domains

IDN domains explained: domain names with local characters and Punycode

How internationalised domain names with accents or non-Latin scripts work, what Punycode (xn--) is, how they behave with email and SSL, and the security risks to know.

IntermediateEveryone2 min read

Internationalised domain names (IDNs) contain characters outside plain English letters, such as münchen.de, café.com or names entirely in Arabic, Chinese or Cyrillic script. They let people use their own language in web addresses.

Key terms

  • Unicode form: what people see, for example bücher.de.
  • Punycode form: the ASCII version DNS actually stores, starting with xn--, for example xn--bcher-kva.de.

How they work

DNS only understands letters, digits and hyphens. Browsers convert the IDN to Punycode before looking it up, then display the readable form again. Registries decide which characters each TLD allows; many ccTLDs support their national characters, and some TLDs exist entirely in other scripts.

Practical points

  • Hosting and cPanel: add the domain using its Punycode form if a tool rejects the Unicode version.
  • SSL: certificates are issued for the Punycode name; AutoSSL handles this like any other domain.
  • Email: addresses with non-ASCII characters are not supported by every mail system. Use a plain ASCII domain for business email.
  • Marketing: visitors with other keyboards may struggle to type the name. Register the ASCII equivalent too (buecher.de) and redirect it.

Warning: Attackers register look-alike IDNs, for example a Cyrillic а in place of a Latin a, for phishing (homograph attacks). Browsers show Punycode when scripts are mixed suspiciously; be wary of links that look right but show xn--.

Common questions

Are IDNs bad for SEO? No. Search engines index them normally and show the readable form in results. The main risk is people mistyping the address, which is why registering an ASCII version as well is wise.

Can I use an IDN for a subdomain? Yes, subdomain labels can also use Unicode characters and are stored in Punycode.

Next steps

Was this guide helpful?

Still stuck?

Ask MdmHost AI for a quick answer, or open a ticket and our team will take a look. We are here 24/7.