URL Encoder & Decoder

Percent-encode teks untuk URL dan query string, dekode URL yang terenkode, dan pecah URL apa pun menjadi bagian-bagiannya dengan parameter query yang sudah didekode.

Berjalan di browser AndaTanpa daftarTidak ada yang diunggah

Hasil enkode

Cara menggunakan URL Encode / Decode

  1. Pilih Enkode atau Dekode.
  2. Saat mengenkode, pilih Komponen untuk satu nilai query atau segmen path, URL lengkap untuk mempertahankan struktur URL, atau Data form untuk application/x-www-form-urlencoded.
  3. Tempel teks Anda. Hasilnya langsung muncul; escape yang rusak dilaporkan beserta posisinya.
  4. Tempel URL lengkap ke Parser URL untuk melihat host, path, fragmen, dan setiap parameter query yang sudah didekode.

Apa itu URL encoding?

URL hanya boleh berisi sekumpulan terbatas karakter ASCII (RFC 3986). Semua karakter lain, termasuk spasi, huruf non-Inggris, dan karakter yang memiliki arti khusus seperti &, ? dan #, ditulis sebagai tanda persen diikuti dua digit hex untuk setiap byte UTF-8. Spasi menjadi %20 dan é menjadi %C3%A9.

encodeURIComponent vs. encodeURI

FungsiTidak diubahGunakan untuk
encodeURIComponentA-Z a-z 0-9 - _ . ~Satu nilai query, segmen path, atau nama parameter
encodeURIJuga : / ? # [ ] @ ! $ & ' ( ) * + , ; =URL utuh yang strukturnya harus tetap terjaga

Memakai encodeURI pada nilai query adalah bug klasik: & di dalam nilai tidak di-escape, sehingga memecah parameter menjadi dua. Mode Komponen di tool ini juga meng-escape ! ' ( ) * agar sesuai ketat dengan RFC 3986.

%20 atau + untuk spasi?

Di path, spasi harus ditulis %20. Di pengiriman form HTML (application/x-www-form-urlencoded) dan banyak query string, spasi ditulis sebagai +. Saat mendekode, aktifkan Anggap + sebagai spasi untuk data form, dan matikan jika tanda plus literal itu penting, seperti di jane+test@example.com.

Pertanyaan yang sering diajukan

Mengapa muncul “Escape rusak” saat mendekode?
% harus diikuti tepat dua digit hex. Tanda persen literal, seperti pada “diskon 50%”, seharusnya dienkode sebagai %25. Pesan error menunjukkan posisi urutan yang bermasalah.
Apa arti “Urutan byte UTF-8 tidak valid”?
Byte-nya tidak dienkode sebagai UTF-8, sering karena teks dihasilkan oleh sistem lama yang memakai Latin-1 (misalnya %E9 untuk é, bukan %C3%A9), atau string terpotong di tengah karakter.
Sebaiknya mengenkode seluruh URL atau hanya parameternya?
Enkode setiap nama dan nilai parameter secara terpisah dengan encoding komponen, lalu gabungkan dengan = dan &. Mengenkode URL lengkap dengan mode komponen juga akan meng-escape :// dan merusaknya.
Apakah encoding ganda menjadi masalah?
Ya. Mengenkode string yang sudah terenkode mengubah %20 menjadi %2520. Jika Anda melihat %25 diikuti digit hex, nilainya kemungkinan dienkode dua kali. Dekode dua kali untuk mendapatkan aslinya.

Tools terkait