Punycode (IDN) Converter
WebEverything runs locally in your browser — nothing is uploaded
Turn a Chinese, Japanese or German domain into its Punycode form (xn--r8jz45g.jp), or turn a string of xn-- back into something readable. Browsers only help in one direction: type an internationalised domain and they will encode it, but hand them an xn-- string and they will not tell you what it says — and that is the more common need. You receive a scrambled domain and want to know what it is before clicking. The result breaks the domain down label by label so you can see exactly which part became what. Two checks come along: labels over 63 bytes (the DNS limit, which CJK domains reach quickly) are flagged, and domains mixing writing systems (the Cyrillic а that looks like a Latin a in аpple) are called out as homograph-phishing risk.
Features
- Both directions: internationalised domain to xn--, and xn-- back to text
- Label-by-label breakdown, so you can see which part became what
- Full URLs convert only the hostname — protocol, path, port and query stay as they are
- A warning when a label exceeds the 63-byte DNS limit
- Mixed Latin and Cyrillic/Greek domains are flagged as homograph-phishing risk
- The full-width full stop from CJK input methods is treated as a dot
- Results match the browser's own IDN encoding exactly (cross-checked against it)
How to use
- Paste a domain or full URL — anything with xn-- is decoded, the rest is encoded
- Both the Unicode and Punycode forms are shown
- Set the direction manually if the detection guessed wrong
- Copy any single line with its own button
FAQ
- What is Punycode and why is it needed?
- DNS only understands ASCII, so internationalised domains are encoded per RFC 3492 into a string starting with xn-- before they can resolve. The address bar shows the readable form, but the actual lookup and the certificate use the Punycode one — which is what you need when debugging resolution, requesting a certificate or reading mail headers.
- What is the homograph risk?
- Different writing systems contain letters that look nearly identical, such as Cyrillic а (U+0430) and Latin a. An attacker can register аpple.com, which is indistinguishable from apple.com on screen, and use it for phishing. The tool warns when a domain mixes Latin with Cyrillic or Greek — purely Latin or purely Cyrillic domains are not flagged.
- Why do labels exceed the length limit?
- DNS caps a label at 63 bytes, and Punycode encoding roughly doubles the length: one CJK character is three bytes and takes four to five characters once encoded. A label of about 15 characters can therefore pass 63 bytes. Browsers will not stop you — resolution simply fails later.
- Is the domain I enter recorded?
- No. The conversion happens in the browser and the page sends no requests — a domain can itself leak information, such as the hostname of an internal system, and none of it leaves the machine.
Related tools
Domain Breakdown
WebSplit a domain into subdomain, registered domain, public suffix and TLD, with the TLD type, a localised country name and the Punycode form for IDN.
URL Parser
WebParse a URL into scheme, host, port, path, query parameters and fragment, with each parameter shown raw and decoded. Runs entirely in your browser.
URL Encode
EncodingEscape text into %XX form and back again, treating a whole URL and a single parameter value as different jobs. Runs entirely in your browser.
User-Agent Parser
WebParse a user agent into browser, version, OS, device type and engine, and see which rules matched. Pattern matching only. Runs entirely in your browser.
HTTP Status Codes
WebLook up an HTTP status code for its meaning, 1xx–5xx class, typical uses and common traps. Runs entirely in your browser.
MIME Types
WebLook up a MIME type from an extension, or the default extension for a media type. Common types only. Runs entirely in your browser.