Konverter Gratis

Encoder URL / Decoder

Encode dan decode URL serta komponen URI secara instan di browser Anda. Gratis, privat, dan tidak perlu upload.

Atau

Tentang alat ini

Pengkodean URL (secara formal pengkodean persen, didefinisikan dalam RFC 3986) menerjemahkan karakter yang memiliki arti khusus dalam URL — spasi, garis miring, ampersand, tanda pagar — ke dalam bentuk yang aman menggunakan tanda persen diikuti dengan digit hex. Karakter spasi menjadi %20 (atau + dalam konteks yang dikodekan dalam bentuk), ampersand menjadi %26, dan seterusnya. Tanpa pengkodean ini, karakter khusus akan ditafsirkan sebagai sintaks URL, bukan sebagai data literal, sehingga merusak URL atau menyebabkan perilaku yang tidak diinginkan.

Ada dua pengkodean yang terkait tetapi berbeda. Pengkodean komponen URL standar menggunakan %-escapes untuk semua hal di luar kumpulan karakter yang tidak dicadangkan: A-Z, a-z, 0-9, tanda hubung, garis bawah, titik, tilde. Varian yang disandikan formulir (application/x-www-form-urlencoded) juga memperlakukan spasi sebagai tanda plus dan menggunakan aturan berbeda untuk beberapa karakter lainnya. EncodeURIComponent JavaScript menggunakan pengkodean komponen yang ketat; encodeURI menggunakan bentuk yang lebih permisif yang mempertahankan karakter struktur URL.

Alat ini menawarkan pengkodean dan decoding. Mode penyandian membungkus setiap karakter yang memerlukan pelolosan dalam format %HH; mode decode membalikkan transformasi. Keduanya berjalan sepenuhnya di browser Anda menggunakan fungsi URL JavaScript bawaan, sehingga tidak ada data yang dikirim ke mana pun.

Mengapa Mengkodekan atau Mendekode URL

Setiap kali data disertakan dalam URL — parameter string kueri, segmen jalur yang berisi masukan pengguna, target pengalihan — diperlukan pengkodean yang tepat. Gagal mengkodekan menghasilkan URL yang rusak ketika karakter khusus muncul, membocorkan batas parameter ke string kueri (mengubah &x=1 menjadi parameter terpisah), atau diblokir oleh server web karena format permintaan salah.

Decoding adalah kebalikannya: mengekstraksi data asli dari URL yang disandikan. Bilah alamat browser sering kali menampilkan URL dalam bentuk yang disandikan; decoding mengungkapkan apa yang sebenarnya dimaksudkan. Logging, debugging, dan analisis keamanan semuanya mendapat manfaat dari URL yang didekodekan yang menunjukkan parameter dan jalur asli.

Cara menggunakan

Tempelkan string, pilih arah.

  1. Pilih menyandikan atau mendekode: Enkode membungkus karakter tidak aman dalam format %HH. Dekode membalikkan %HH lolos kembali ke karakter literal.
  2. Tambahkan teks masukan: Tempelkan string yang akan dikodekan atau didekode. Untuk pengkodean, ini biasanya berupa nilai literal dengan spasi, karakter khusus, atau konten non-ASCII. Untuk decoding, ini adalah URL atau komponen URL yang berisi %HH escape.
  3. Mengkonversi: Alat ini menerapkan encodeURIComponent atau decodeURIComponent. Output yang dikodekan aman untuk disematkan di URL; keluaran yang didekodekan adalah nilai literal asli.
  4. Salin atau unduh: Gunakan hasilnya di mana pun Anda membutuhkannya. Nilai yang dikodekan cocok dengan URL; nilai yang didekodekan mengungkapkan data asli.

Kasus Penggunaan Umum

Detail Teknis

encodeURIComponent mengkodekan setiap karakter di luar set yang tidak dicadangkan [A-Za-z0-9-_.~]. Spasi menjadi %20, tanda tambah menjadi %2B, tanda sama dengan menjadi %3D, dan seterusnya. Karakter di luar ASCII pertama-tama dikodekan dalam UTF-8 dan kemudian setiap byte di-escape.

encodeURI lebih permisif dan ditujukan untuk URL lengkap daripada komponen. Tidak luput dari /, ?, &, =, #, dan beberapa lainnya karena karakter tersebut memiliki makna sintaksis URL. Untuk menyematkan data pengguna di URL, encodeURIComponent hampir selalu merupakan pilihan yang tepat.

decodeURIComponent membalikkan %-escapes, memvalidasi bahwa setiap escape terbentuk dengan baik dan byte yang dihasilkan membentuk UTF-8 yang valid. Input yang salah menghasilkan kesalahan daripada menghasilkan sampah.

Praktik Terbaik

Pertanyaan yang sering diajukan

Karakter apa yang memerlukan pengkodean URL?
Karakter cadangan (&, =, ?, #, /, :, @) dan karakter tidak aman (spasi, <, >, {, }, |, ^, ~, [, ], `) harus dikodekan. Karakter alfanumerik dan -_.~ aman dan tidak memerlukan pengkodean.
Apa perbedaan antara encodeURI dan encodeURIComponent?
encodeURI mengkodekan URL lengkap tetapi mempertahankan karakter khusus (://?#). encodeURIComponent mengkodekan semuanya kecuali -_.!~*'() — gunakan untuk nilai parameter kueri. Alat ini menawarkan kedua mode tersebut.
Bagaimana spasi dikodekan dalam URL?
Spasi dapat dikodekan sebagai %20 (pengkodean persen standar) atau + (pengkodean formulir). %20 benar untuk jalur URL, sedangkan + digunakan dalam string kueri dari formulir HTML. Alat ini menggunakan %20 secara default.
Bisakah saya menyandikan karakter Unicode?
Ya. Karakter unicode pertama-tama dikodekan menjadi byte UTF-8, kemudian setiap byte dikodekan dalam persen. Misalnya, '日' menjadi %E6%97%A5 (tiga byte UTF-8, masing-masing dikodekan persen).
Haruskah saya menggunakan encodeURI atau encodeURIComponent?
Hampir selalu mengkodekan Komponen URI. Gunakan encodeURI hanya jika Anda memiliki URL lengkap dan ingin mempertahankan strukturnya — biasanya jarang terjadi karena Anda tetap membuat URL dari komponen.
Apakah data saya diunggah ke server?
Tidak. Pengkodean dan penguraian kode URL terjadi sepenuhnya di browser Anda.
Apakah ini menangani emoji Unicode?
Ya. Emoji adalah rangkaian UTF-8 multi-byte; encoder menghasilkan rantai %-escaped byte yang decodernya pasang kembali dengan benar ke emoji asli.
Bagaimana jika masukan saya memiliki string yang tampak %HH namun sebenarnya tidak dikodekan?
Pengkodean mengubah setiap % menjadi %25, lalu menerapkan kembali pelolosan untuk sisanya. Menguraikan kode masukan yang ketat menimbulkan kesalahan pada pelolosan yang salah format; string yang tampak ambigu mungkin salah diterjemahkan.