Punycode / IDN Converter
Convert internationalized domain names to Punycode (xn--) and back. Supports Unicode domains, emoji domains, URLs, and email addresses.
DNS itself only understands ASCII, which means a domain name written in Cyrillic, Chinese, or with an emoji has to get represented some other way before it can actually resolve, and Punycode is that specific encoding, converting non-ASCII characters into an ASCII string prefixed with xn-- that DNS infrastructure can handle without ever needing to understand Unicode itself. This tool encodes and decodes Punycode for internationalized domain names, converting between the Unicode domain a person actually types and the ASCII form DNS actually resolves.
See moreSee less about the Punycode / IDN Converter
Useful for converting an internationalized domain into the ASCII Punycode form it actually resolves to behind the scenes, decoding a suspicious xn-- domain to see what Unicode characters it's actually hiding before trusting a link, or checking exactly how a non-ASCII domain gets represented once it leaves a browser's address bar and reaches DNS.
Examples
Encode a Unicode Domain
Input: münchen.de
Output: xn--mnchen-3ya.deConvert an internationalized domain into the ASCII Punycode form DNS actually resolves.
Decode a Punycode Domain
Input: xn--h1alffa9f.xn--p1ai
Output: россия.рфDecode an xn-- domain back into its Unicode characters.
Encode an Emoji Domain
Input: 🇧🇪.ws
Output: xn--f77hga.wsEmoji domains encode to Punycode the same way as any other Unicode label.
Encode a Non-Latin Script Domain
Input: হারুন.বাংলা
Output: xn--85bp0auq.xn--54b7fta0ccEach label of a multi-label domain is encoded independently.
Key features
- Bidirectional Unicode ↔ Punycode conversion
- Supports domains, URLs, and email addresses
- Homograph-attack warnings
- Runs entirely in your browser