Encode Unicode text

Enter Unicode text here to convert it to punyencoded ASCII text.

Decode ASCII text

Enter ACE encoded ASCII text here to decode it back into Unicode text.

Encode/Decode Instructions

  • Separate with new line.
  • You can decode/encode up to 1 million rows at a time.
  • You can enter multiple domain parts on the same line, all will encoded/decoded.
    example: উদাহরণ.বাংলা –> xn--d5b6ci4b4b3a.xn--54b7fta0cc
  • If you enter full urls and paths, nothing after the first forward slash will be encoded/decoded.
    example: https://উদাহরণ.বাংলা/category/কার –> https://xn--d5b6ci4b4b3a.xn--54b7fta0cc/category/কার

What is punycode?

Punycode is an encoding algorithm which is used for web adresses to encode internationalized domain names (IDN).

Punycode is used to convert Unicode characters to ASCII, which is a smaller, restricted character set.

How does punycode work?

In this short example we will show the process of converting the Unicode text string pünycode.com into the ASCII text string xn--pnycode-n2a.com which can in turn be used directly in the
Domain Name System (DNS).

  1. Each part of the domain name is treated seperately, in this example only the part pünycode needs encoding, com is left alone.
  2. All ASCII characters in the string are copied from input to output, skipping over any other characters.
  3. Then an ASCII hyphen is added to the end of the output.
  4. Next the remaining non-ASCII characters are encoded with the punycode algorithm. The result is appended after the hyphen.
    encode(ü) n2a
  5. Finally the string is preceded with the characters xn-- to uniquely identify that it is a punyencoded domain part.


punycode converter is a free-to-use tool developed and maintained by xoocode.com.