CodeKitHub
Bahasa Indonesia
Alat Enkode

URL Encoder / Decoder Online

Encode teks dengan persen (percent encoding) agar aman digunakan dalam URL, atau decode URL yang sudah di-encode kembali ke bentuk yang mudah dibaca. Pilih mode komponen (mengencode semuanya, untuk nilai parameter query) atau mode URL penuh (mempertahankan struktur :// ? &). Berjalan sepenuhnya di browser Anda.

Apa Itu Alat Ini?

URL encoding (percent encoding) mengganti karakter yang tidak diizinkan dalam URL dengan tanda % diikuti nilai byte-nya dalam heksadesimal — spasi menjadi %20, dan 你 menjadi %E4%BD%A0. Tanpa ini, karakter seperti spasi, &, ? dan teks non-ASCII akan merusak struktur URL atau disalahartikan oleh server.

Ada dua kebutuhan umum, dan alat ini mendukung keduanya: mengencode nilai yang akan masuk ke dalam parameter query (mode komponen — juga mengencode / ? & =), dan mengencode seluruh URL sambil mempertahankan strukturnya (mode URL penuh — membiarkan :// ? & tetap utuh).

Mengapa Menggunakannya?

  • Bangun query string dengan aman — input pengguna dengan &, = atau spasi tidak akan merusak URL Anda.
  • Decode URL panjang yang sudah di-encode dari log, analitik atau rantai pengalihan untuk melihat isinya yang sebenarnya.
  • Penanganan UTF-8 yang benar untuk teks Tionghoa, emoji dan teks non-ASCII lainnya.
  • Dua mode agar Anda tidak sengaja mengencode : dan / dari seluruh URL.
  • Gratis, instan, tanpa unggah.

Cara Menggunakan

  1. Tempel teks atau URL Anda ke kotak input.
  2. Pilih mode: "Component" untuk nilai yang masuk ke parameter query, "Full URL" untuk seluruh URL.
  3. Klik "Encode" atau "Decode".
  4. Salin hasilnya.

Contoh

Input

https://example.com/search?q=hello world & 你好

Output

Mode Component: https%3A%2F%2Fexample.com%2Fsearch%3Fq%3Dhello%20world%20%26%20%E4%BD%A0%E5%A5%BD
Mode Full URL:  https://example.com/search?q=hello%20world%20&%20%E4%BD%A0%E5%A5%BD

Mode komponen juga mengencode karakter struktur; mode URL penuh mempertahankannya.

Kasus penggunaan umum

  • Membangun URL yang bisa dibagikan di mana istilah pencarian atau nilai filter berasal dari input pengguna dan mungkin mengandung spasi, &, atau karakter khusus lainnya.
  • Decode URL pelacakan atau pengalihan panjang dari email atau kampanye iklan untuk melihat tujuan dan parameter sebenarnya sebelum mengkliknya.
  • Debugging mengapa parameter query tidak terbaca dengan benar oleh server — sering kali penyebabnya adalah karakter reserved yang seharusnya di-encode tapi tidak.
  • Menyiapkan nilai non-Inggris (Tionghoa, Jepang, Arab, dll.) untuk digunakan dalam query string URL.

encodeURIComponent vs encodeURI, dalam praktiknya

Kedua fungsi ini langsung berkorespondensi dengan dua mode alat ini dan sesuai dengan fungsi JavaScript nyata yang sudah dikenal para developer: encodeURIComponent (mode komponen) mengencode semuanya kecuali sekumpulan kecil karakter unreserved, sehingga aman untuk nilai tunggal apa pun yang dimasukkan ke dalam URL — ini yang Anda gunakan untuk parameter query, segmen path, atau nilai fragmen hash. encodeURI (mode URL penuh) membiarkan karakter struktural URL (:, /, ?, #, &, =) tidak berubah karena mengasumsikan Anda mengencode seluruh URL yang sudah terstruktur, bukan nilai mentah — menggunakannya pada satu nilai parameter akan gagal mengencode karakter & atau = yang mungkin dikandung nilai tersebut, yang merupakan kesalahan paling umum saat orang memilih mode yang salah.

Karakter reserved vs unreserved

Spesifikasi URL (RFC 3986) membagi karakter menjadi dua kelompok: karakter unreserved (huruf, angka, - _ . ~) selalu aman dan tidak pernah di-encode, sedangkan karakter reserved (: / ? # [ ] @ ! $ & ' ( ) * + , ; =) memiliki makna khusus dalam struktur URL dan hanya perlu di-encode saat muncul sebagai data literal, bukan sebagai tanda baca struktural. Inilah tepatnya alasan kedua mode ini ada — mode komponen memperlakukan karakter reserved sebagai data yang harus dilindungi, mode URL penuh memperlakukannya sebagai struktur yang harus dipertahankan. Memahami perbedaan ini lebih berguna daripada menghafal kapan harus memakai mode yang mana, karena ini menjelaskan mengapa karakter yang sama (seperti &) kadang di-encode dan kadang dibiarkan tergantung peran yang dimainkannya dalam URL tersebut.

Pertanyaan yang Sering Diajukan

Kapan sebaiknya menggunakan mode komponen dibanding mode URL penuh?

Gunakan mode komponen (encodeURIComponent) saat mengencode satu nilai tunggal yang akan masuk ke dalam parameter query — ini mengencode /, ?, & dan = agar tidak merusak URL. Gunakan mode URL penuh (encodeURI) saat mengencode seluruh URL — ini mempertahankan karakter struktural agar URL tetap berfungsi.

Mengapa %20 muncul, bukan + untuk spasi?

Keduanya valid dalam konteks yang berbeda. %20 adalah percent-encoding universal untuk spasi; + berarti spasi hanya di dalam query string yang menggunakan format lama application/x-www-form-urlencoded. Alat ini menggunakan %20, yang berfungsi di mana saja.

Mengapa decoding gagal dengan error?

Input mengandung urutan persen yang tidak valid, seperti % yang tidak diikuti dua digit heksadesimal. Ini sering terjadi ketika URL terpotong atau di-decode dua kali. Perbaiki atau hapus urutan % yang rusak.

Apa itu double encoding?

Mengencode teks yang sudah di-encode: %20 menjadi %2520 karena % itu sendiri dikodekan menjadi %25. Ini bug yang umum terjadi — jika hasil decode Anda masih mengandung kode %, decode sekali lagi.

Apakah ini menangani karakter Tionghoa dan emoji?

Ya. Teks dikodekan sebagai byte UTF-8, jadi 你好 menjadi %E4%BD%A0%E5%A5%BD dan decode kembali dengan sempurna — perilaku yang sama seperti yang digunakan browser.

Alat Terkait