Convert an international domain between Unicode and ASCII Punycode, with per-label byte lengths and explicit limits.
Your input
Outputs are cleared when the input changes.
Result
Enter your data or use the example, then run the tool.
Worked example
mañana.com becomes xn--maana-pta.com. Entering that ASCII form restores mañana.com; the first ASCII label uses 13 bytes.
Method
Use the exact Punycode.js toUnicode/toASCII implementations, normalize domain separator variants and lowercase the domain. Validate well-formed Unicode, nonempty hostname labels, at most 63 ASCII bytes per label and 253 characters excluding a trailing root dot.
Limits
Punycode notation is not complete IDNA/UTS46 registration validation. Emoji or look-alike characters can be encoded without being registrable or trustworthy. No DNS/WHOIS lookup, ownership check or phishing guarantee is provided.
Processing is local in a lazily loaded, fixed-source worker. Cancel or the four-second processing timeout terminates the worker; input is not sent to external services.
Your inputs stay on this device. Only optional, consented page visits are measured. Input values, files, filenames and processing logs are not sent to Analytics.
When switching languages, text, settings and selected files are temporarily kept on this device. Transfers are removed after restoring; interrupted transfers are cleaned up on a later visit. Inputs and files are never uploaded.