Enkode

Punycode encode/decode

Encode nama domain dengan karakter Unicode (IDN) ke format ASCII yang kompatibel, Punycode (xn--), dan sebaliknya.

The DNS system historically only supports ASCII characters, so domain names with Cyrillic, CJK, or other non-ASCII characters (IDN) are encoded as Punycode — an ASCII-compatible form prefixed with xn--. This tool encodes and decodes such domains.

How to use it

Common uses

Things to keep in mind

Visually similar characters from different scripts (like Cyrillic "а" and Latin "a") can form a domain that looks identical to a known brand — this is the basis of homograph phishing.

Not every browser shows decoded Unicode the same way: when a domain label mixes scripts, browsers often deliberately show the raw xn-- form as a warning sign.

Artikel tentang alat ini: Punycode: bagaimana domain internasional bekerja di DNS

Pertanyaan yang sering diajukan

Apa itu Punycode dan kenapa dibutuhkan?

DNS hanya mendukung karakter ASCII, sementara nama domain internasional (IDN) bisa memuat karakter Unicode seperti ü atau karakter non-Latin. Punycode mengubah label domain berkarakter Unicode itu menjadi format ASCII yang diawali "xn--" agar tetap kompatibel dengan sistem DNS.

Apa risiko keamanan yang berkaitan dengan Punycode/IDN?

IDN membuka celah homograph attack, yaitu domain palsu yang memakai karakter Unicode mirip huruf Latin (misalnya "а" Sirilik menggantikan "a" Latin) untuk menyerupai domain asli. Browser modern kadang menampilkan bentuk xn-- mentah alih-alih Unicode saat mencurigai domain semacam ini.

Apakah domain yang saya masukkan dikirim ke server mana pun?

Tidak. Encode dan decode Punycode di halaman ini diproses sepenuhnya di browser, tidak ada permintaan DNS atau data yang dikirim ke server.

Bagaimana cara mengenali bahwa sebuah tautan memakai Punycode?

Domain yang dienkode selalu memiliki prefiks xn-- sebelum setiap label yang mengandung karakter non-ASCII. Jika Anda melihat domain berawalan xn-- di bilah alamat atau email, itu tanda IDN — sebaiknya periksa teks apa yang sebenarnya tersembunyi di balik enkode tersebut.

Apakah semua browser menampilkan huruf Sirilik di bilah alamat dengan cara yang sama?

Tidak. Sebagian browser hanya menampilkan Unicode yang telah didekode jika seluruh karakter domain berasal dari satu alfabet, dan saat alfabet tercampur (tanda serangan homograph), browser sengaja menampilkan bentuk xn-- mentah alih-alih karakter aslinya.

Artikel: Enkode

Base64: untuk apa enkode dan bagaimana cara kerjanya

Bagaimana Base64 mengubah data biner menjadi teks ASCII dan kapan ini benar-benar diperlukan.

Base32: bedanya dengan Base64 dan kapan lebih praktis

Alfabet Base32 yang tidak membedakan huruf besar/kecil, dan kasus di mana ia lebih praktis daripada Base64.

URL Encode/Decode: percent-encoding dalam tautan

Bagaimana karakter khusus dalam alamat dan parameter berubah menjadi urutan %XX.

HTML Entities: cara menampilkan karakter khusus dengan aman

Mengapa karakter < > & perlu di-escape dan bagaimana ini mencegah markup rusak.

JWT: struktur token dan arti "mendekode" JWT

Header, payload, dan signature dari JWT, serta mengapa mendekode bukan hal yang sama dengan memverifikasi tanda tangan.

Unicode Escape: arti urutan \uXXXX

Dari mana asal urutan seperti \u0041 dalam JSON dan string JS, serta artinya.

ROT13 dan sandi Caesar: substitusi karakter sederhana

Mengapa pergeseran 13 huruf membuat ROT13 mengoreksi dirinya sendiri, dan mengapa masih digunakan sekarang.

Kode Morse: bagaimana teks berubah menjadi titik dan garis

Prinsip pengenkodean huruf menjadi titik dan garis, serta di mana kode Morse masih digunakan sekarang.

Data URI: kapan menyematkan gambar langsung ke dalam kode

Bagaimana Data URI menyematkan isi berkas langsung ke HTML atau CSS, dan kapan hal ini sepadan.

Gzip + Base64: mengompresi data untuk dikirim sebagai teks

Mengapa data biner terkompresi juga dienkode Base64 sebelum dimasukkan ke bidang teks.

XML Entities: meng-escape karakter dalam dokumen XML

Lima entity XML wajib, tanpanya dokumen rusak saat diuraikan.