Runs 100% in your browser — nothing is uploaded
Encoding & Decoding

Punycode Converter

Convert internationalized domain names between Unicode and Punycode (xn--) ASCII form.

Punycode Converter
Client-side

About this tool

The Punycode Converter translates internationalized domain names (IDNs) — domains containing non-ASCII characters like münchen.de or 例え.jp — between their human-readable Unicode form and the ASCII-compatible Punycode encoding (prefixed with xn--) that DNS actually stores and resolves.

DNS was designed around ASCII, so browsers and registrars transparently convert Unicode domain labels to Punycode behind the scenes using the algorithm defined in RFC 3492. This tool exposes that conversion directly: paste a Unicode domain to see its Punycode form, or paste a Punycode string to see the Unicode domain it represents. Full URLs are also supported — paste a complete https://münchen.de/path URL and only the hostname portion is converted, with the path and query string preserved exactly.

Understanding Punycode matters for a few practical reasons: debugging why a domain "looks weird" in a browser address bar (browsers show Punycode for domains that mix scripts, as an anti-phishing measure), registering or configuring DNS for an internationalized domain, and recognizing homograph/IDN spoofing attempts where visually similar Unicode characters are used to impersonate a well-known domain.

Everything runs client-side using the widely used punycode.js reference implementation. No domain name is looked up or transmitted anywhere — this is a pure text transformation, not a DNS query.

FAQ

What does the xn-- prefix mean?
xn-- is the ASCII Compatible Encoding (ACE) prefix that marks a DNS label as Punycode-encoded rather than a literal ASCII string. Every internationalized domain label, once encoded, starts with this prefix so DNS resolvers and registries can recognize it.
Why do browsers sometimes show a domain as xn--... instead of the Unicode form?
Modern browsers display Punycode instead of the decoded Unicode when a domain mixes scripts or characters in ways that could visually impersonate another domain (a homograph attack) — this is a deliberate anti-phishing measure, not a bug.
Does this tool perform a DNS lookup?
No. This is a pure text encoding/decoding transformation using the Punycode algorithm — no network request or DNS query is made. The domain never needs to actually exist for the conversion to work.
Can I convert a full URL, not just a bare domain?
Yes — paste a complete URL like https://münchen.de/path?x=1 and only the hostname portion is converted to or from Punycode; the scheme, path, and query string are preserved exactly as written.
Is Punycode the same thing as URL encoding?
No. URL encoding (percent-encoding) escapes special characters using %XX sequences and can encode any URL component. Punycode is a specialized algorithm specifically for encoding Unicode domain name labels into an ASCII-safe form that fits DNS naming rules.