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.
Memuat kalkulator...
Apakah kalkulator ini membantu Anda?
Apa itu URL Encoder/Decoder?
URL Encoder/Decoder mengonversi antara teks biasa dan format percent-encoded yang aman untuk URL. Penting bagi pengembang web yang bekerja dengan parameter query, permintaan API, dan perutean URL.
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:
Ketik atau tempel teks/URL yang ingin Anda encode atau decode.
Pilih mode Encode atau Decode.
Klik tombol Konversi.
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
Encode dan decode secara instan
Menangani semua karakter khusus
Bekerja sepenuhnya di dalam browser
Gratis tanpa perlu mendaftar
Tips Profesional
Selalu encode parameter URL yang dibuat pengguna
Gunakan encodeURIComponent() untuk parameter query dalam JavaScript
Decode URL sebelum menampilkannya kepada pengguna agar mudah dibaca
Kesalahan Umum yang Harus Dihindari
Secara tidak sengaja melakukan double-encoding pada URL
Menggunakan encoding yang salah untuk konteks yang salah (URL vs HTML)
Lupa bahwa + mewakili spasi dalam query string tetapi tidak dalam segmen jalur
Istilah Kunci Dijelaskan
URL encoding: Percent-encoding untuk URL yang aman
Percent-encoding: % diikuti kode heksadesimal
Query string: Parameter setelah ? dalam URL
Karakter cadangan: Karakter dengan arti khusus dalam URL
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
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 & untuk & atau < 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 & untuk & atau € 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.