Encode dan Decode URL: Memahami Percent-Encoding untuk Web
Pelajari apa itu encoding URL (percent-encoding), mengapa URL memerlukannya, dan cara mengenkode serta mendekode URL untuk parameter dan API.
1 Februari 2026
Apa itu encoding URL?
Encoding URL, juga dikenal sebagai percent-encoding, adalah mekanisme untuk merepresentasikan karakter dalam URL yang tidak diizinkan atau memiliki arti khusus. Mekanisme ini mengganti karakter yang tidak aman dengan tanda persen (%) diikuti dua digit heksadesimal yang merepresentasikan kode ASCII karakter tersebut. Spasi menjadi %20, dan ampersand menjadi %26. Alat Encode dan Decode URL kami membuat konversi ini instan dan bebas kesalahan.
Mengapa URL memerlukan encoding?
URL memiliki sintaks ketat yang didefinisikan oleh RFC 3986. Hanya sekumpulan karakter terbatas yang diizinkan dalam URL tanpa encoding:
- Karakter tidak terreservasi: A-Z, a-z, 0-9, tanda hubung (-), garis bawah (_), titik (.), tilde (~)
- Karakter terreservasi: : / ? # [ ] @ ! $ & ' ( ) * + , ; = (memiliki arti khusus dalam struktur URL)
Karakter apa pun di luar set ini harus di-percent-encode.
Cara kerja percent-encoding
Proses encoding mengonversi setiap karakter ke representasi byte UTF-8-nya, lalu merepresentasikan setiap byte sebagai tanda persen diikuti dua digit heksadesimal.
Karakter umum yang perlu di-encode
- Spasi: %20 (atau + dalam data formulir)
- & (ampersand): %26
- = (sama dengan): %3D
- ? (tanda tanya): %3F
- # (tanda pagar): %23
- / (garis miring): %2F
Kasus penggunaan encoding URL
Parameter query
Saat meneruskan data melalui string query URL, nilai harus di-encode dengan benar. Pencarian seperti kucing & anjing menjadi ?q=kucing%20%26%20anjing.
Panggilan API
API RESTful sering memerlukan parameter yang di-encode dalam permintaan GET dan POST.
Data formulir
Formulir HTML dengan tipe konten application/x-www-form-urlencoded mengenkode semua nilai formulir di mana spasi direpresentasikan sebagai + alih-alih %20.
URL pengalihan
Ketika URL diteruskan sebagai parameter ke endpoint pengalihan, URL tersebut harus di-encode sepenuhnya.
URL internasional
URL yang mengandung karakter non-Latin memerlukan percent-encoding.
Cara menggunakan alat encoding URL
Masukkan teks apa pun untuk mengenkodenya untuk penggunaan URL, atau tempel string URL yang ter-encode untuk mendekodenya kembali ke teks yang dapat dibaca. Alat ini berjalan sepenuhnya di browser Anda tanpa mengirim data ke server eksternal.
Praktik terbaik
Selalu enkode input pengguna sebelum memasukkannya ke dalam URL. Gunakan fungsi encoding bawaan bahasa pemrograman Anda seperti encodeURIComponent() di JavaScript atau urllib.parse.quote() di Python.