Punycode Converter (IDN)

Use this Punycode converter to encode an internationalized domain name (IDN) as its ASCII xn-- form or decode it back to Unicode. Domain mode converts each dot-separated label; Raw mode exposes the RFC 3492 bootstring. All conversion runs locally in your browser.

Input
0 chars · 0 bytes
Try:
Result
✓ ASCII-safe encoding of Unicode domain names ✓ Powers internationalized domain names (IDN) ✓ UTF-8 and Unicode support ✓ Client-side processing only
Examples
Encode an IDN domain
Mode: Domain (IDN, xn--)
Input münchen.de
Output xn--mnchen-3ya.de

The non-ASCII label gets the xn-- prefix; the .de label stays as is.

Decode a Punycode domain
Mode: Domain (IDN, xn--)
Input xn--mnchen-3ya.de
Output münchen.de

Decoding restores the original Unicode domain name.

Encode a Cyrillic IDN domain
Mode: Domain (IDN, xn--)
Input пример.рф
Output xn--e1afmkfd.xn--p1ai

Each Cyrillic domain label receives its own xn-- ASCII representation.

Encode a raw Punycode string
Mode: Raw (RFC 3492)
Input bücher
Output bcher-kva

Raw mode returns the RFC 3492 bootstring without the xn-- prefix.

How Punycode works

Punycode is the ASCII-compatible encoding defined by RFC 3492. It lets Domain Name System software carry an internationalized domain name (IDN) that contains Unicode letters. For example, the label münchen becomes xn--mnchen-3ya. The xn-- prefix identifies that label as an ASCII Compatible Encoding (ACE).

Use this Punycode converter in Domain mode for a domain name such as пример.рф or münchen.de. It splits the input at periods, keeps ASCII-only labels unchanged, and encodes each Unicode label separately. It also decodes any dot-separated label that starts with xn--. This is the practical mode for checking the ASCII form used by an IDN domain.

Choose Raw mode when you need the underlying RFC 3492 bootstring itself. Raw mode transforms the whole input as one string: it does not add or remove xn-- and does not treat periods as domain-label separators. It is useful for learning, testing, and comparing a Punycode value with an implementation.

Punycode is a reversible representation, not encryption, a DNS lookup, or a proof that a domain is safe. Enter a hostname only, without https://, a path, query string, port, or fragment. The conversion is performed locally in your browser.

FAQ

The prefix xn-- (the IDNA "ACE prefix") marks a domain label as Punycode-encoded. When a browser sees a label starting with xn--, it decodes the rest as Punycode to display the original Unicode name.

Different Unicode characters can look identical (a Latin "a" versus a Cyrillic "а"). Converting a domain to Punycode reveals such homograph tricks, because a lookalike domain produces a different xn-- string than the genuine one.

Select Domain mode, enter only the domain name, and choose encode. Each Unicode label is converted independently and receives xn-- when needed; for example, пример.рф becomes xn--e1afmkfd.xn--p1ai. ASCII labels such as www and com remain unchanged.

This converter is for hostnames and domain labels, not complete URLs. Copy only the domain portion, for example münchen.de, and leave out the protocol, port, path, query string, and fragment. Punycode applies to the domain name, while the rest of a URL uses other syntax and encoding rules.

Domain mode is intended for IDN hostnames: it handles dot-separated labels and adds or reads the xn-- prefix. Raw mode performs only the bare RFC 3492 Punycode algorithm on the entire input, so it is useful for test values and does not represent a complete domain-name conversion.

No. Punycode is simply a standard representation for an internationalized domain name. It can help you compare the exact ASCII labels behind similar-looking names, but it does not check registration, resolve DNS, identify the owner, or determine whether a website is trustworthy.
Related tools

Binary Converter Online

Convert text into 8-bit binary groups and decode binary bytes back into readable text.

ASCII Converter

Convert ASCII characters and numeric codes for protocol and parser workflows.

JWT Decoder Online

Decode JWT tokens in-browser and inspect header, payload, claims, and expiration data.