Punycode converter
This Punycode converter changes domain names with accented letters, other alphabets or emoji into the ASCII form that DNS uses, and decodes xn-- names back into readable text. Developers, domain buyers and security teams use it to check what a domain really says.
- Runs in your browser
- Free, no account needed
- Copy or download the result
Result
Example
münchen.de xn--bcher-kva.example 例え.jp example.com
Input Result münchen.de xn--mnchen-3ya.de xn--bcher-kva.example bücher.example 例え.jp xn--r8jz45g.jp example.com example.com Each label is converted on its own with the RFC 3492 algorithm after Unicode NFC normalization and lowercasing. This does not apply the full IDNA2008 rules, so a registry may still reject some characters that pass here.
How to use the punycode converter
- Enter one domain per line in the One domain per line box.
- Leave Direction on Detect per line, or choose To Punycode (ASCII) or To Unicode.
- Press Run.
- Use Copy result or Download to save the converted names.
How it works
Each label between dots is converted on its own with the RFC 3492 Punycode algorithm, built into this tool so results match in every browser.
Labels are normalized to Unicode NFC and lowercased before encoding.
xn-- labels must decode cleanly and encode back to the same text, and labels that decode to spaces, control characters or symbols are rejected.
The full IDNA2008 mapping and character rules are not applied, so a registry may still refuse a name that converts here.
Enter bare domains only; URLs, paths, ports and email addresses are rejected.
Everything runs in your browser. Your input is not uploaded or stored.
Questions and answers
What does xn-- mean in a domain?
It marks a label written in Punycode. The rest of the label encodes the non-ASCII characters of an international domain name.
How do I see the real characters of an xn-- domain?
Paste it here and choose To Unicode, or leave Detect per line. This can reveal look-alike letters used in phishing domains.
Why is my domain lowercased?
Domain names are not case sensitive, and international domain rules expect lowercase before encoding, so the tool lowercases each label first.