LazyTools

🔒 Every tool runs in your browser, the files and values you enter are never uploaded to any server. How it works

🌍 Punycode / IDN Converter

Convert a Unicode domain (münchen.de) to its ASCII xn-- form and back, useful for DNS, email and spotting look-alike domains.

Unicode → ASCII (RFC 3492 / IDNA)

Rate this tool:
Anonymous, no account, no identifier

How the punycode / idn converter works

The Domain Name System only allows ASCII letters, digits and hyphens, so internationalised domain names (IDNs) with accents or non-Latin scripts are encoded with Punycode (RFC 3492): each affected label is transformed into an ASCII string and prefixed with xn--. The tool converts each dot-separated label, münchen.de becomes xn--mnchen-3ya.de, and decodes xn-- labels back to their original Unicode.

Punycode is also a security tool: attackers register look-alike domains using characters that resemble Latin letters (a Cyrillic "а" for a Latin "a"), and the only reliable way to see the real domain is its xn-- form. Decoding a suspicious xn-- domain here shows what it actually contains, on your device, no lookup, no tracking.

Frequently asked questions

What is Punycode?

The ASCII encoding (RFC 3492) that lets internationalised domain names with non-ASCII characters work in the DNS. Each affected label is converted and prefixed with xn--, e.g. münchen → xn--mnchen-3ya.

Why do some domains start with xn--?

That prefix marks a Punycode-encoded label, the ASCII representation of a domain containing accents or non-Latin characters. Your browser shows the Unicode version but sends the xn-- form to DNS.

How does this help spot phishing?

Look-alike (homograph) attacks use characters that resemble Latin letters. Decoding the domain's xn-- form reveals the real characters, so you can tell a genuine site from an impostor.

Does it convert whole domains or single labels?

Whole domains. It processes each dot-separated label independently, encoding only those with non-ASCII characters and leaving plain labels (like com) unchanged.

What does the xn-- prefix itself mean?

xn-- is the fixed "ACE prefix" (ASCII-Compatible Encoding) that flags a label as Punycode. Anything after it is the encoded form: the ASCII characters that survive, a hyphen delimiter, then a compact encoding of where the non-ASCII characters insert. münchen encodes to xn--mnchen-3ya.

Does Punycode change the top-level domain?

Only labels with non-ASCII characters are encoded; plain labels pass through untouched. So in münchen.de only the first label changes (xn--mnchen-3ya) while .de stays as-is. A fully non-Latin domain, however, can have every label, including the TLD, in xn-- form.

Is Punycode reversible?

Yes. It is a lossless, one-to-one encoding, so an xn-- label decodes back to exactly the original Unicode with no ambiguity. That is why a browser can display the readable form while sending the xn-- form to DNS, and why decoding a suspicious xn-- domain always reveals the true characters.

Does converting to Punycode reach a different website?

No, münchen.de and xn--mnchen-3ya.de are the same domain written two ways. DNS only ever resolves the xn-- (ASCII) form, and the Unicode form is purely a display convenience, so both point to the identical site.

Is my domain uploaded?

No, the conversion runs locally in your browser with no DNS lookup, so nothing is transmitted.

Related developer tools