Skip to content
Categories
Punycode Converter
Convert internationalized domain names (IDN) to and from Punycode.
Overview
- Converts an internationalized domain name (IDN) containing Japanese text, emoji, or similar into Punycode notation (starting with xn--), which uses only ASCII characters, or does the reverse.
- Each dot-separated label (subdomain part) is converted individually, so you can enter a full domain, such as example.co.jp, as-is.
- Since DNS can only handle ASCII characters, domain names containing non-ASCII characters are internally managed in Punycode format. This tool reproduces that conversion rule in your browser.
Usage
- Enter a domain name into the input field.
- Click "Convert to Punycode" or "Convert to Unicode".
- The result is displayed below.
Example
Input
ๆฅๆฌ่ช.jp
Output
xn--wgv71a119e.jp
Use Cases
- Checking the Punycode notation that will actually be registered in DNS before acquiring or configuring a Japanese domain
- Converting an xn-- domain shown in a browser's address bar or server log back into its actual domain name (such as Japanese text)
- Verifying that conversion results match the specification while implementing or debugging a system that handles internationalized domain names
FAQ
What happens if I "Convert to Unicode" a string that doesn't start with "xn--"?
A label that already consists only of ASCII characters is returned unchanged.
Can I enter a full domain name (e.g. example.co.jp)?
Yes. Each dot-separated label is converted only where necessary.
What happens if I enter an invalid Punycode string?
An error message is shown if it cannot be decoded.
Notes
- If you "Convert to Unicode" a label that already consists only of ASCII characters, that label is returned unchanged.
- Conversion is applied per dot-separated label, so you can enter a full domain, including subdomains, as-is.
- Entering a malformed Punycode string (one that cannot be decoded) results in an error.
Related Tools
Break a URL down into its individual components.
Escape and unescape non-ASCII characters using \uXXXX notation.
Encode and decode text to and from URL encoding.