IDN (Internationalized Domain Name)

Domain Fundamentals
A domain name containing non-ASCII characters like Chinese, Arabic, or Cyrillic scripts, enabling native language web addresses.
← Back to Glossary

What is an IDN?

An IDN (Internationalized Domain Name) is a domain name that contains characters outside the traditional ASCII set used in the original DNS specification. IDNs enable domain names in native scripts like Chinese (中文.com), Arabic (مثال.com), Cyrillic (пример.com), and many others.

Why IDNs Matter

The original DNS was designed for English speakers, limiting domain names to:

This excluded billions of people whose languages don't use the Latin alphabet. IDNs democratize the internet by enabling:

How IDNs Work: The Punycode Connection

DNS infrastructure only understands ASCII, so IDNs use a clever encoding system called Punycode. When you register or access an IDN:

1. User Types: 中文.com (Chinese for "Chinese")

2. Browser Encodes: xn--fiq228c.com (Punycode representation)

3. DNS Resolves: Standard ASCII lookup

4. Browser Displays: 中文.com (original form)

The "xn--" prefix indicates a Punycode-encoded string. This happens transparently to users.

Punycode Examples

IDNPunycode
münchen.dexn--mnchen-3ya.de
中文.comxn--fiq228c.com
правда.рфxn--80aafi6cg.xn--p1ai

IDN Support Across TLDs

IDN support varies by TLD:

Full Support

Most modern gTLDs and many ccTLDs support IDNs:

Internationalized TLDs

Some TLDs are themselves IDNs:

Limited or No Support

Some TLDs restrict IDNs or don't support them at all. Always verify IDN support for your target TLD.

Security Considerations: Homograph Attacks

IDNs introduce security risks through homograph attacks, where visually similar characters from different scripts create deceptive domains:

apple.com   (legitimate - Latin letters)

аpple.com (attack - Cyrillic 'а' looks like Latin 'a')

Protections Against Homograph Attacks

Browser Behavior: Modern browsers display Punycode for suspicious IDNs instead of the Unicode form, revealing the attack. Registry Policies: Some registries restrict which character sets can be combined in a single domain. Domain Monitoring: Tools like DomScan's typosquatting detection can identify registered homograph variants of your brand.

Implementing IDN Support

For developers building domain tools:

Validation

// Check if domain contains non-ASCII

function isIDN(domain) {

return /[^\x00-\x7F]/.test(domain);

}

Conversion

// Convert to Punycode for DNS queries

const punycode = require('punycode/');

const ascii = punycode.toASCII('中文.com'); // xn--fiq228c.com

const unicode = punycode.toUnicode('xn--fiq228c.com'); // 中文.com

RDAP Queries

Most RDAP servers accept both forms:

# Both work

curl "https://rdap.verisign.com/com/v1/domain/xn--fiq228c.com"

curl "https://rdap.verisign.com/com/v1/domain/中文.com"

Best Practices

When working with IDNs:

1. Always store and process the Punycode form internally

2. Display the Unicode form to users

3. Implement homograph detection for security features

4. Verify TLD-specific IDN policies before registration

Put This Knowledge to Work

Use DomScan's API to check domain availability, health, and more.