Umumnya standar Domain Name System (DNS) memungkinkan pendaftaran nama domain yang hanya mengandung karakter ASCII (26 huruf alfabet latin/A-Z), angka (0-9), dan sebuah karakter penghubung. Dengan maksimal total 37 karakter untuk sebuah domain.
Namun, seiring meningkatnya jumlah pengguna yang menggunakan bahasa selain latin, maka diputuskan untuk memperkenalkan pendaftaran domain Unicode yang menyertakan karakter dari seluruh alfabet nasional. Yang hasilnya muncul banyak nama-nama domain multibahasa atau Internationalized Domain Name (IDN).
Punycode merupakan metode berstandar untuk mengubah karakter Unicode menjadi ASCII yang didukung dengan infrastruktur DNS. Jadi, domain IDN setelah diubah tidak akan membingungkan terhadap domain biasa (regular). Seluruh domain IDN dimulai dengan awalan spesial “xn—“. Contoh, domain “münich.com” akan diubah menjadi “mnich-kva.com”. Dan jika menggunakan Punycode akan menjadi xn—mnich-kva.com.
Domain diubah dengan Punycode dan sebaliknya di sisi browser, jadi saat Anda memasukan sebuah domain IDN pada address bar, browser akan mengubah sendirinya domain tersebut untuk berinteraksi dengan DNS.
