Pack Camo

URL Encode & Decode

Percent-encode dan decode URL serta query string, dan pecah URL menjadi bagian-bagiannya. Semuanya berjalan di perangkat Anda — tidak ada yang diunggah.

Masuk
Text · URL
Keluar
Encoded · decoded · parsed parameters

Untuk satu nilai atau segmen path: & = ? / # di-encode.

Teks

40 karakter

Ter-encode

76 karakter

Caf%C3%A9%20%26%20cr%C3%A8me%3F%2050%25%20off%20%2F%20today%20only%20%23deal

Encode dan decode URL, plus parser untuk seluruh URL

URL encoder dan decoder ini mengubah teks ke dan dari percent-encoding saat Anda mengetik, dalam tiga varian yang benar-benar dipakai di web. Decoder sanggup menangani input rusak yang sering ada di log nyata — % yang nyasar atau sequence UTF-8 yang terpotong — dan memberi tahu persis letaknya. URL parser memecah alamat apa pun menjadi bagian-bagiannya dan memungkinkan Anda mengedit query string sebagai tabel. Semuanya berjalan lokal di browser Anda.

Cara URL encode atau decode

  1. Pilih Encode, Decode, atau Parse URL.
  2. Saat encode, pilih metodenya: Komponen untuk satu nilai query atau segmen path, URL lengkap untuk merapikan alamat tanpa merusaknya, atau Form agar sama dengan yang dikirim form HTML.
  3. Saat decode, tentukan apakah + berarti spasi. Di query string dan body form iya; di path tidak.
  4. Salin hasilnya, atau tukar kembali ke input untuk memeriksa bolak-baliknya. Di Parse URL, edit, tambah, atau hapus parameter query dan URL disusun ulang untuk Anda.

Apa yang dilakukan percent-encoding

URL hanya boleh berisi sekumpulan terbatas karakter ASCII, dan beberapa di antaranya punya tugas: / memisahkan segmen path, ? mengawali query, & dan = memisahkan parameter, dan # mengawali fragment. Karakter lain, atau karakter khusus yang dipakai sebagai data, ditulis sebagai % diikuti dua digit hex untuk setiap byte UTF-8-nya. Spasi menjadi %20, & menjadi %26, dan é, dua byte dalam UTF-8, menjadi %C3%A9.

Salah di sini adalah bug klasik: pencarian "salt & pepper" yang sampai hanya sebagai "salt ", karena & yang tidak di-encode memulai parameter baru.

encodeURIComponent, encodeURI, atau form encoding?

Komponen (encodeURIComponent)
Meng-encode semuanya kecuali huruf, angka, dan - _ . ! ~ * ' ( ). Gunakan untuk satu bagian URL: nilai query, segmen path, URL redirect yang dikirim sebagai parameter. Ini pilihan yang tepat sembilan dari sepuluh kali.
URL lengkap (encodeURI)
Membiarkan karakter yang membentuk struktur URL (: / ? # & = dan seterusnya) dan meng-encode sisanya, seperti spasi dan huruf non-ASCII. Gunakan pada alamat lengkap yang ingin dibuat valid, jangan pada satu nilai — & atau = di dalamnya tidak akan di-encode.
Form (application/x-www-form-urlencoded)
Yang dikirim browser saat form disubmit dan yang dihasilkan URLSearchParams: spasi menjadi +, dan hanya huruf, angka, serta * - . _ yang dibiarkan apa adanya.

Decode, tanda +, dan sequence yang rusak

Karakter + berarti spasi hanya di query string dan body form; di path ia adalah tanda plus biasa. Itulah sebabnya decode punya sakelar + sebagai spasi, bukan menebak. Jika nilai hasil decode menampilkan tanda plus di tempat yang seharusnya spasi, aktifkan sakelar itu.

decodeURIComponent milik JavaScript melempar "URI malformed" pada % pertama yang tidak diikuti dua digit hex — "100%" saja sudah cukup — atau pada sequence byte yang bukan UTF-8 valid, seperti teks yang di-percent-encode sebagai Latin-1 (%E9 untuk é). Decoder ini tetap jalan: semua yang valid di-decode, bagian yang rusak dibiarkan apa adanya, dan masing-masing dicantumkan dengan baris dan kolomnya agar Anda bisa menemukannya di baris log yang panjang.

Membaca dan mengedit URL

Parser menampilkan protokol, kredensial, host, port, path, query, dan fragment dari URL absolut apa pun, dalam bentuk ter-decode agar mudah dibaca. Parameter query muncul sebagai tabel kunci/nilai: ubah nilai, tambah parameter, atau hapus satu, dan URL lengkap disusun ulang dengan encoding yang benar. Ini cara cepat membuang parameter pelacakan seperti utm_source, atau melihat ke mana sebenarnya sebuah link redirect panjang mengarah.

Untuk encoding lain, lihat Base64 encoder dan HTML entity encoder, yang meng-escape teks untuk HTML, bukan untuk URL.

Pertanyaan yang sering diajukan

Apa itu URL encoding?
URL encoding, atau percent-encoding, mengganti karakter yang tidak diizinkan atau punya arti khusus di URL dengan % diikuti nilai hex dari setiap byte UTF-8-nya. Spasi menjadi %20 dan & menjadi %26.
Spasi sebaiknya di-encode menjadi %20 atau +?
Keduanya benar di tempat yang berbeda. %20 berfungsi di mana saja. + berarti spasi hanya di query string dan pengiriman form, yang dihasilkan oleh form encoding; di path, + adalah tanda plus biasa.
Apa perbedaan encodeURI dan encodeURIComponent?
encodeURIComponent meng-encode karakter khusus seperti / ? & = dan #, jadi untuk satu nilai di dalam URL. encodeURI membiarkannya, jadi untuk URL lengkap yang strukturnya harus tetap utuh.
Kenapa saya mendapat error "URI malformed"?
Input berisi % yang tidak diikuti dua digit hex, atau byte ter-percent-encode yang bukan UTF-8 valid. Alat ini tetap men-decode sisanya dan menunjukkan letak setiap masalah.
Bagaimana cara decode parameter URL?
Tempel URL ke Parse URL untuk melihat setiap parameter query ter-decode dalam tabel, atau tempel query string-nya saja ke Decode dengan + sebagai spasi diaktifkan.
Karakter apa yang tidak perlu di-encode di URL?
Huruf A sampai Z dan a sampai z, angka, serta - . _ ~ selalu aman. Selebihnya sebaiknya di-encode jika berupa data, bukan bagian struktur URL.
Apakah URL saya dikirim ke suatu tempat?
Tidak. Encode, decode, dan parsing berjalan di browser Anda, jadi URL yang berisi token atau data pribadi tidak pernah meninggalkan perangkat Anda.