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.