IDN Punycode converter
Easily convert IDN to Punycode and back with our IDN Punycode converter tool for accurate domain name management.

IDN Punycode converter is a free tool that converts internationalized domain names to Punycode ASCII and converts Punycode back to readable Unicode text.
What is Punycode, and why does it exist?
Punycode is part of the IDNA conversion from Unicode U-labels to ASCII A-labels. It allows names containing letters such as ü, é or 漢 to pass through systems originally designed for basic Latin letters, digits and hyphens.
An IDNA A-label starts with xn--. The prefix tells IDNA-aware applications that the remaining characters are a Punycode representation of a U-label. Periods remain separators, so each part of a domain is converted independently.
Punycode is used within Internationalized Domain Names in Applications, commonly shortened to IDNA. IDNA also handles validation and character processing, while Punycode provides the ASCII representation of an eligible Unicode label.
Punycode is encoding, not encryption. Anyone can convert the ASCII form back to Unicode, so it provides no secrecy and should never be used to hide information.

How do I convert an internationalized domain name?
Enter Unicode text in Convert to Punycode/ASCII, or enter ASCII A-labels in Convert to IDN/Text. The corresponding result appears in Punycode/ASCII or IDN/Text.
- Copy only the domain name or label you want to convert, without quotation marks around it.
- Use Convert to Punycode/ASCII for Unicode text containing accented or non-Latin characters.
- Use Convert to IDN/Text for ASCII A-labels.
- Check every converted label before adding it to DNS, email settings or application configuration.

The converter uses the PHP idn_to_ascii and idn_to_utf8 functions. Processing takes place on the server. Your input is sent to the server over HTTPS and is not stored.
Domain conversion examples
A simple conversion shows the relationship between the displayed name and its DNS-compatible form.
Input münchen.de
Output xn--mnchen-3ya.de
Converting the output in the other direction returns münchen.de. The ASCII-only label de does not need to be converted, while the label containing ü becomes an xn-- label.
Input must be valid domain-name text. The underlying format handles common cases as follows:
- Accented and non-Latin letters: eligible Unicode labels are represented in ASCII through IDNA and Punycode.
- Periods: each period separates labels. A domain can therefore contain a mix of ordinary ASCII labels and encoded labels.
- Numbers and ordinary hyphens: these are already ASCII and generally remain readable, subject to domain-name syntax rules.
- Spaces: spaces are not valid inside ordinary DNS host labels. Remove an accidental space instead of expecting Punycode to preserve it as part of the domain.
- Punctuation: a period separates labels, but characters that belong to a URL path, port or query string are not part of the hostname.
- Empty or very long input: an empty value contains no domain to convert. DNS also limits each encoded label to 63 octets, so a visually short Unicode label can become too long after conversion.

Why does Punycode conversion fail or return unexpected text?
Conversion usually fails because the input is not valid IDN text, contains a malformed A-label or has been passed through another encoding first. When converting to IDN/Text, ordinary ASCII input that is not an A-label may simply remain unchanged. Before changing characters manually, check whether the source contains Unicode U-labels, ASCII A-labels or a URL-encoded hostname.
- Malformed A-labels or the wrong encoding: a malformed xn-- label can cause conversion to fail. Base64, hexadecimal text and percent-encoded URLs are not Punycode.
- Unsupported characters: Punycode can represent Unicode values, but IDNA rules and domain registries can reject particular characters, combinations or scripts.
- Excessive label length: DNS limits each encoded label to 63 octets, so a Unicode label can become too long after conversion.
- Partial input: copying brackets, a port number or part of an HTML attribute along with the hostname can make the value invalid.
- Double-encoded input: if characters in a Punycode domain were explicitly or noncanonically percent-encoded, they may appear as percent sequences. Decode that URL layer first with a URL decoder, then convert the resulting domain.
- Binary rather than text data: IDN conversion works with Unicode domain-name text. Arbitrary file bytes can fail validation or produce meaningless characters when treated as text.
Where will I encounter Punycode?
You will mainly encounter Punycode in domain names, DNS records, browser address handling and systems that store hostnames as ASCII. A browser may display the readable internationalized name or retain the xn-- form, depending on its safety rules and the characters involved.
Email addresses can use Punycode in the domain after the @ sign. It does not encode the mailbox name before the @ sign. JSON payloads and query strings may contain Punycode when they carry a hostname, but JSON and query-string syntax do not require Punycode for general text.
Data URIs normally use percent encoding or Base64 for their content. Punycode appears there only if the contained text happens to include an internationalized hostname. Similarly, use a URL encoder for path or query values and Punycode for the hostname itself.
Frequently asked questions
Can I paste a full URL into an IDN converter?
It is safer to extract the hostname and convert only that part. The scheme, port, path, fragment and query have separate syntax rules, and characters in those sections may need URL encoding instead of Punycode.
Does an xn-- label mean a website is unsafe?
No. Many legitimate internationalized domains use xn-- labels. However, visually similar characters from different writing systems can be used in misleading names, so check the decoded spelling and the expected organization before entering passwords or payment details.
Can I use emoji in a Punycode domain?
No. Emoji are not allowed in IDNA domain labels, even though the Punycode algorithm can encode their code points. Domain registry policies may impose additional restrictions on permitted scripts and symbols.
Why does my browser show Punycode instead of Unicode?
Your browser may keep the ASCII form when a label mixes scripts, contains characters associated with spoofing or does not meet its display policy. This is a display safeguard, not evidence that the conversion is incorrect.
Will a converted name definitely work in DNS?
No. Successful conversion does not prove that the domain is registered, available or permitted by the relevant registry. Before using the result, verify the label length, check the readable spelling and confirm that the registry accepts the characters involved.
Popular Tools
Create your own custom signature and download it easily with our signature generator tool for personalized e-signatures.
Calculate the size of any text in Bytes (B), Kilobytes (KB), or Megabytes (MB) using our text size calculator tool.
Use the reverse IP lookup tool to find the domain or host associated with any IP address quickly and easily.
Use our ping tool to check the status and response time of any website, server, or port quickly and efficiently.
Generate your free WhatsApp link instantly with our WhatsApp Link Generator. Add a custom message and start chats in one click. No login or coding required.
Digily Link's IP lookup tool provides detailed information about any IP address. Use this free online service to get comprehensive IP data.