Developer

URL Encoder / Decoder

Spasi, simbol, dan karakter khusus merusak URL — percent-encoding memperbaikinya. Encode URL apa pun untuk transmisi yang aman, atau decode kembali menjadi teks yang dapat dibaca, secara instan.

Apakah kalkulator ini membantu Anda?

Apa itu URL Encoder / Decoder?

URL Encoder/Decoder adalah alat pengembangan web penting yang mengkonversi antara teks biasa dan format persen-encoding yang aman untuk URL. Ketika URL berisi spasi, simbol khusus, atau karakter non-ASCII seperti huruf beraksen dan emoji, URL akan rusak jika tidak diencoding dengan benar. Alat ini menyediakan encoding dan decoding instan dengan dukungan penuh untuk mode URL (encoding URL lengkap) dan mode komponen (encoding nilai parameter kueri individu), plus mode batch untuk memproses beberapa string sekaligus.

Kapan Menggunakan Kalkulator Ini

  • Anda membangun URL dengan parameter query yang mengandung spasi, simbol, atau karakter non-ASCII
  • Anda perlu mendekode URL yang telah di-encode dengan persen untuk membaca konten sebenarnya
  • Anda men-debug API yang menolak URL Anda karena karakter khusus yang tidak di-encode
  • Anda memproses URL yang dikirim pengguna yang perlu dibersihkan sebelum digunakan
  • Anda perlu meng-encode atau mendekode beberapa segmen URL sekaligus secara batch
  • Anda membangun pengalihan atau URL callback yang parameternya harus di-encode dengan benar

Langkah-langkah:

  1. Ketik atau tempel teks/URL yang ingin Anda encode atau decode.
  2. Pilih mode Encode atau Decode.
  3. Klik tombol Konversi.
  4. Salin hasilnya untuk digunakan dalam aplikasi Anda.

Rumus

Encoding: Karakter tidak aman → % + kode hex 2 digit ➡ Decoding: %XX → Karakter asli

Kasus Penggunaan

  • Membangun query string yang aman untuk URL
  • Memproses parameter permintaan API
  • Men-debug URL yang di-encode
  • Membuat slug dan jalur yang ramah URL

Manfaat Utama

  • Encoding dan decoding instan dengan hasil real-time
  • Mendukung mode URL dan mode komponen untuk konteks berbeda
  • Mode batch untuk mengencoding atau mendekoding beberapa string sekaligus
  • Menangani semua karakter khusus termasuk Unicode dan emoji
  • 100% berbasis browser — tidak ada data yang dikirim ke server
  • Jumlah karakter visual untuk memverifikasi bahwa pengkodean tidak menduplikasi atau memotong input

Tips Profesional

  • Selalu encoding parameter URL yang dihasilkan pengguna sebelum memasukkannya ke URL
  • Gunakan encodeURIComponent() di JavaScript untuk nilai parameter kueri individual
  • Dekode URL sebelum menampilkannya kepada pengguna untuk keterbacaan
  • Hati-hati dengan double-encoding: jika Anda melihat %25 diikuti lebih banyak digit heksadesimal, URL mungkin sudah diencoding dua kali
  • Gunakan mode komponen saat membangun string kueri dan mode URL saat mengkodekan seluruh jalur URL atau URL lengkap

Kesalahan Umum yang Harus Dihindari

  • Double-encoding URL dengan mengencoding URL yang sudah diencoding, mengubah %20 menjadi %2520
  • Menggunakan konteks encoding yang salah — mode URL dan mode komponen menghasilkan output berbeda
  • Lupa bahwa + hanya merepresentasikan spasi dalam data application/x-www-form-urlencoded
  • Tidak menangani karakter non-ASCII dengan benar — selalu pastikan pengkodean UTF-8 sebelum pengkodean persen

Istilah Kunci Dijelaskan

Persen-encoding: Mekanisme standar untuk mengencoding karakter dalam URL, mengganti karakter tidak aman dengan % diikuti kode ASCII heksadesimal dua digit
String kueri: Bagian URL setelah karakter ?, berisi pasangan nilai-kunci yang dipisahkan oleh &
Karakter yang dicadangkan: Karakter seperti :, /, ?, #, [, ], @, !, $, &, (, ), *, +, ,, ;, = dengan makna sintaksis khusus dalam URL menurut RFC 3986
Mode komponen vs mode URL: Mode komponen mengencoding lebih banyak karakter dan untuk nilai individual; mode URL mempertahankan struktur URL untuk jalur lengkap

Konsep Terkait

  • Percent-Encoding: Mekanisme mengganti karakter yang tidak aman dengan % diikuti kode ASCII heksadesimal dua digit untuk transmisi URL yang aman
  • Query String: Bagian URL setelah karakter ?, berisi pasangan kunci-nilai yang dipisahkan oleh karakter &
  • Karakter Cadangan: Karakter seperti :, /, ?, #, [, ], @, !, $, &, (, ), *, +, ,, ;, = yang memiliki arti khusus dalam sintaks URL menurut RFC 3986
  • Karakter Aman untuk URL: Karakter tanpa cadangan (huruf, angka, -, _, ., ~) yang tidak memerlukan encoding dalam URL
  • encodeURIComponent vs. encodeURI: Fungsi JavaScript di mana encodeURIComponent meng-encode semuanya kecuali huruf, angka, dan _*-.~ untuk nilai individual, sedangkan encodeURI mempertahankan karakter struktur URL untuk URL lengkap

Contoh

Encode 'Hello World & Friends!' → 'Hello%20World%20%26%20Friends%21'. Decode 'search%3Fq%3Dhello+world' → 'search?q=hello world'.

Interpretasi Hasil Anda

Encoder mengubah karakter URL yang tidak aman (spasi, &, ?, #, non-ASCII, dll.) menjadi format percent-encoded di mana setiap karakter menjadi % diikuti kode heksadesimal dua digitnya. Decoder membalikkan proses ini, mengembalikan teks asli yang dapat dibaca. Jumlah karakter membantu Anda memverifikasi bahwa encoding tidak menggandakan atau memotong input Anda secara tidak terduga. Mode komponen meng-encode set karakter yang lebih luas dan dirancang untuk meng-encode nilai parameter query individual. Mode URL lebih ketat tentang apa yang di-encode dan dirancang untuk meng-encode seluruh jalur URL atau URL lengkap. Gunakan mode komponen saat Anda membangun query string dan mode URL saat Anda meng-encode URL lengkap. Mode batch memungkinkan Anda meng-encode atau mendekode beberapa baris sekaligus, yang berguna saat Anda memiliki daftar URL atau parameter untuk diproses. Setiap baris diperlakukan sebagai input terpisah, dan semua hasil ditampilkan bersama untuk memudahkan penyalinan.

Pertanyaan Umum

Mengapa URL perlu di-encode?
URL hanya dapat berisi karakter ASCII tertentu. Karakter seperti spasi, &, ?, #, dan karakter non-ASCII harus di-encode (percent-encoding) untuk memastikan transmisi yang aman melalui internet.
Apa itu percent-encoding?
Percent-encoding mengganti karakter yang tidak aman dengan tanda % diikuti kode heksadesimal dua digit. Misalnya, spasi menjadi %20 dan & menjadi %26.
Apakah URL encoding sama dengan HTML encoding?
Tidak. URL encoding (percent-encoding) untuk URL. HTML encoding menggunakan entitas seperti &amp; untuk & atau &lt; untuk <. Keduanya memiliki tujuan berbeda dalam pengembangan web.
Kapan saya harus menggunakan mode URL dibandingkan mode komponen?
Gunakan mode komponen saat meng-encode nilai parameter query tunggal (misalnya, istilah pencarian). Gunakan mode URL saat meng-encode jalur URL lengkap atau saat seluruh string harus aman untuk URL. Mode komponen meng-encode lebih banyak karakter karena mengasumsikan nilai akan ditempatkan di dalam struktur URL.
Mengapa meng-encode 'Hello World' menghasilkan 'Hello%20World' bukan 'Hello+World'?
Di segmen jalur URL, spasi di-encode sebagai %20. Encoding dengan + untuk spasi hanya digunakan dalam data application/x-www-form-urlencoded (pengiriman formulir HTML). Praktik terbaik modern adalah menggunakan %20 secara konsisten dalam URL. Kalkulator menggunakan %20 untuk URL encoding.
Bisakah saya meng-encode karakter non-ASCII seperti emoji atau huruf beraksen?
Ya. Karakter non-ASCII terlebih dahulu dikonversi menjadi byte UTF-8, kemudian setiap byte di-encode dengan persen. Misalnya, emoji ☺ (U+1F600) menjadi %F0%9F%98%80. Huruf beraksen seperti é (U+00E9) menjadi %C3%A9. Ini adalah pendekatan standar yang didefinisikan dalam RFC 3986.
Apa perbedaan antara ini dan encoding entitas HTML?
URL encoding (percent-encoding) untuk URL — mengubah karakter menjadi kode heksadesimal %XX. Encoding entitas HTML mengubah karakter menjadi entitas bernama atau numerik seperti &amp; untuk & atau &#8364; untuk €. Keduanya memiliki tujuan yang sepenuhnya berbeda dan tidak dapat dipertukarkan.
Mengapa beberapa URL berfungsi tanpa encoding meskipun mengandung karakter khusus?
Browser modern secara otomatis meng-encode URL saat Anda menavigasi ke URL tersebut atau mengirim formulir. Namun, saat Anda membangun URL secara programatik (dalam kode, panggilan API, atau pengalihan sisi server), Anda harus meng-encode secara manual karena server tidak akan melakukannya untuk Anda.
Apakah ada risiko double-encoding?
Ya. Jika Anda meng-encode URL yang sudah di-encode, %20 menjadi %2520, yang tidak benar. Selalu periksa apakah input Anda sudah di-encode sebelum meng-encode lagi. Kalkulator ini menampilkan output yang di-decode sehingga Anda dapat memverifikasi bahwa hasilnya benar.
Bagaimana cara menangani URL yang di-encode dalam JavaScript?
Gunakan decodeURIComponent() untuk mendekode dan encodeURIComponent() untuk meng-encode nilai individual. Untuk URL lengkap, gunakan decodeURI() dan encodeURI() yang mempertahankan karakter struktur URL (/, ?, #, dll.). Jangan pernah menggunakan escape() atau unescape() — keduanya sudah usang dan tidak menangani Unicode dengan benar.

Temukan Lebih Banyak Alat

Pilihan segar dari seluruh pustaka alat kami.