Punycode & IDN Converter

Convert internationalized domain names to Punycode (xn--) and back, label by label, right in your browser. The domains you paste stay on your device.

The Punycode / IDN Converter runs entirely in your browser. The domains and URLs you type or paste are converted on your device with a built-in RFC 3492 implementation and are never uploaded to ArrayKit.

Open the URL Encoder / Decoder

About Punycode Converter

The Punycode / IDN Converter turns internationalized domain names into the ASCII form browsers and DNS actually use — and back again. Type a Unicode host such as münchen.de, 例え.テスト, or an emoji domain and it encodes each label with RFC 3492 Punycode, prefixing only the labels that need it with xn--. Switch direction to paste an xn-- domain and read the human-friendly Unicode it stands for. It works label by label, so subdomains, an ASCII TLD, ports, and paths pass straight through untouched. This is handy for spotting homograph phishing, registering an IDN, debugging TLS certificates or email hosts, and checking where a punycoded link really points. Every conversion runs on your device — the domains you paste are never uploaded.

Features

How to use the Punycode Converter

  1. Keep 'Unicode → ASCII' selected to encode an internationalized domain
  2. Type or paste a domain such as münchen.de or 例え.テスト
  3. Copy the ASCII xn-- domain from the output pane
  4. Switch to 'ASCII → Unicode' and paste an xn-- domain to read it back

Example

Input

münchen.de

Output

xn--mnchen-3ya.de

Only the non-ASCII 'münchen' label becomes xn--mnchen-3ya; the .de TLD is left alone.

Common errors & troubleshooting

Frequently asked questions

What is Punycode and why do domains use it?
Punycode (RFC 3492) represents Unicode domain labels using only the ASCII letters, digits, and hyphen that DNS allows. Internationalized labels are encoded and prefixed with xn--, so münchen.de travels over the network as xn--mnchen-3ya.de.
What does the xn-- prefix on a domain mean?
xn-- is the IDNA 'ACE' (ASCII-Compatible Encoding) prefix. It marks a label whose remaining characters are a Punycode-encoded Unicode string, telling browsers and resolvers to decode it back to the original letters for display.
Why is only part of my domain converted to xn--?
Conversion happens label by label. A label made only of ASCII characters, like www or com, already fits DNS and is left as-is; only labels containing non-ASCII characters are Punycode-encoded and prefixed with xn--.
Can this help me spot homograph phishing domains?
Yes. Look-alike letters from different scripts can make a fake domain appear genuine. Encoding it to ASCII exposes the distinct xn-- form, so аpple.com written with a Cyrillic 'а' no longer looks like apple.com.
Does the converter lowercase my domain or apply IDNA nameprep?
No. It performs pure Punycode transcoding and preserves your labels exactly, so encoding and then decoding returns the original text. It does not apply IDNA case-folding, normalization, or validation.
Does it handle emoji domains and URLs with a port or path?
Yes. Emoji and other astral characters encode correctly — 💩.la becomes xn--ls8h.la — and any scheme, port, path, or query in a full URL is passed through while only the host labels are converted.

Related tools

All ArrayKit tools