When inspecting domain registries, checking DNS lookups, or mapping raw headers, translating xn-- records to clear local language characters (such as Umlauts, Arabic scripts, Kanji, Cyrillic, or emoji) is essential. Our utility runs local conversions entirely in-browser.
About Punycode Decoder
Translate standard ASCII-compatible domain hostnames back into local Unicode layouts and scripts. It's built for debugging web requests, headers and page behaviour, runs instantly, and works on any device — no install, no sign-up.
How to use Punycode Decoder
Paste or type your input into the editor on the left.
Leave the defaults, or tweak them if the tool exposes options.
The result appears instantly on the right — everything runs in your browser, so nothing is uploaded.
Copy the output, or download it, and you're done.
Why use Punycode Decoder?
Fast and local — the transform happens in your browser, so there's no round-trip and no waiting.
Private by default — your input never leaves your device.
Accurate — the same, well-tested logic powers both this page and the public API.
Free — unlimited use in the browser, with an optional API for automation.
Use it from the API
Everything this page does is also available as a REST endpoint, so you can call Punycode Decoder from your own code, a script or a CI pipeline.
The endpoint returns a JSON envelope ({ ok, data, meta }) and costs 1 credit per successful call. Try it in the playground or browse the full API reference.
Frequently asked questions
Is Punycode Decoder free to use?
Yes — use it in the browser as much as you like. The optional API has a free tier and pay-as-you-go pricing for heavy or automated use.
Is my data private?
Yes. Punycode Decoder runs entirely in your browser — your input never leaves your device and nothing is logged or stored.
Can I automate Punycode Decoder?
Yes — call the punycode-decode API endpoint from any language and script it into your workflow.