- Home
-
Encode Punycode
Encode Text to Punycode
Convert Unicode text or Internationalized Domain Names (IDN) into ASCII-compatible Punycode.
Handles labels separated by dots (e.g. xn--...)
IDN Support
Fully supports RFC 3492 for Internationalized Domain Names in Applications (IDNA).
Private & Secure
Processing happens entirely on your device. Your data is never sent to any server.
Instant Encoding
Real-time Punycode conversion as you type, optimized for speed and accuracy.
Try These Examples
International Domain
Encode a domain name with special characters to Punycode.
Chinese Label
Encode a single Chinese word to Punycode.
Emoji Domain
Convert an emoji-based domain name.
The Ultimate Guide to Punycode Encoding
What is Punycode?
Punycode is a special encoding method used to represent Unicode characters using only the limited ASCII character set (A-Z, 0-9, and hyphens). This is primarily used for Internationalized Domain Names (IDNs).
Because the Domain Name System (DNS) historically only supported ASCII, Punycode allows web addresses like münchen.de to be understood by browsers and servers as xn--mnchen-3ya.de.
Why Encode to Punycode?
- Domain Registration: Many registrars require the Punycode version of a domain for technical configuration.
- Server Config: Web servers (like Nginx or Apache) often use Punycode in their configuration files for IDNs.
- Compatibility: Ensure your international links work correctly across all legacy email clients and web systems.
- Developer Testing: Debug how your application handles non-ASCII characters in URLs and network requests.
Understanding the "xn--" Prefix
When you encode a domain name, you'll notice it starts with xn--. This is known as the ACE prefix (ASCII Compatible Encoding). It signals to the system that the following string is a Punycode representation of a Unicode string.
Unicode Example
café.com
Punycode (ACE) Result
xn--caf-dma.com