Integrate Internationalized Domain Names (IDN) with Global DNS
Domain Name Systems (DNS) are historically restricted to standard US-ASCII character boundaries. By utilizing the standard Punycode adapter defined in RFC 3492, developers translate hostnames with local scripts or emoji identifiers into standard host headers starting with the `xn--` mark.
About Punycode Encoder
Convert Unicode domain names containing international scripts into safe, ASCII-compatible DNS compatible format. 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 Encoder
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 Encoder?
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 Encoder 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 Encoder 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 Encoder runs entirely in your browser — your input never leaves your device and nothing is logged or stored.
Can I automate Punycode Encoder?
Yes — call the punycode-encode API endpoint from any language and script it into your workflow.