Membangun nilai query-string
Setiap input pengguna yang Anda taruh di ?q=... harus di-encode dengan mode Component. Mode URI akan membiarkan = dan & mentah, sehingga merusak URL Anda jika nilainya mengandung karakter tersebut.
Encode teks apa pun menjadi string percent-encoded yang aman untuk URL, atau decode URL terenkode kembali ke teks biasa. Pratinjau langsung, aman UTF-8, dan berjalan sepenuhnya di browser Anda.
Component (encodeURIComponent) meng-escape semua yang bukan karakter unreserved — paling aman untuk nilai query-string, segmen path, atau bidang tunggal apa pun. URI (encodeURI) mempertahankan karakter struktur URL (:/?#=&) — gunakan pada URL utuh. Form (application/x-www-form-urlencoded) adalah Component + spasi menjadi '+' — yang dipakai form HTML.
RFC 3986 mendefinisikan kumpulan karakter "unreserved" yang tidak perlu di-encode: A-Z a-z 0-9 - _. ~. Selebihnya akan di-percent-encoding. encodeURIComponent juga meng-encode :/?#&= yang dibiarkan oleh encodeURI. Perbedaan ini penting saat Anda meng-encode nilai query versus URL utuh.
Lepas file teks di sini, atau klik untuk menelusuri
File teks UTF-8 apa pun:.txt,.csv,.json,.url,.log
Cepat, akurat, hanya di browser — dibuat untuk developer, copywriter, dan siapa pun yang sedang men-debug URL.
Pilih mode Component, Full URI, atau Form sesuai dengan apa yang Anda encode — nilai query-string, URL utuh, atau payload form HTML.
Setiap encode dan decode terjadi di browser Anda menggunakan JavaScript native. Teks dan URL Anda tidak pernah meninggalkan perangkat.
Output diperbarui pada setiap penekanan tombol — tidak perlu klik tombol "Encode", tidak ada round-trip ke server.
Emoji, karakter CJK, huruf Latin beraksen, dan Cyrillic dapat round-trip dengan benar melalui encodeURIComponent dan kembali.
Saat decode, opsional perlakukan '+' sebagai spasi — konvensi yang dipakai form HTML pada application/x-www-form-urlencoded.
Lepas file.txt,.csv, atau.json untuk meng-encode atau decode-nya dalam satu langkah. Output diunduh sebagai.txt yang bersih.
Tiga API browser native, tiga mode, semuanya berjalan di halaman yang sedang Anda baca.
Pada setiap penekanan tombol, string input diteruskan ke fungsi JavaScript kecil. Tidak ada debounce, tidak ada panggilan API, tidak ada fetch — fungsi tersebut berjalan secara sinkron di tab browser Anda.
Component memanggil encodeURIComponent — meng-escape semua yang bukan A-Z a-z 0-9 - _. ~. URI memanggil encodeURI — mempertahankan :/?#=& agar URL utuh tetap valid. Form menggunakan encodeURIComponent dan mengganti spasi dengan + sesuai application/x-www-form-urlencoded.
Baik encodeURIComponent maupun encodeURI secara internal mengonversi string menjadi byte UTF-8 sebelum melakukan percent-encoding pada setiap byte yang tidak aman. Itulah sebabnya %E4%B8%AD untuk huruf Mandarin 中 — persis seperti yang diwajibkan RFC 3986.
Hasilnya disetel sebagai nilai output read-only. Klik Salin untuk menaruhnya di clipboard via navigator.clipboard.writeText, atau Unduh untuk menyimpannya sebagai .txt via Blob URL — keduanya tetap di browser Anda.
Situasi nyata di mana memilih mode encoding yang tepat mencegah bug.
Setiap input pengguna yang Anda taruh di ?q=... harus di-encode dengan mode Component. Mode URI akan membiarkan = dan & mentah, sehingga merusak URL Anda jika nilainya mengandung karakter tersebut.
Beberapa aplikasi chat dan PDF merusak tautan ketika berisi spasi mentah atau karakter non-ASCII. Jalankan URL melalui mode URI agar aman untuk salin-tempel di mana pun.
Saat API Anda menolak request, tempel URL ke mode Decode untuk melihat apa yang sebenarnya diterima server. Nilai yang double-encoded (di mana % sendiri di-encode menjadi %25) langsung terlihat.
Saat men-debug body POST dalam application/x-www-form-urlencoded, decode dengan toggle "+ sebagai spasi" diaktifkan. Itulah konvensi yang dipakai browser, dan melupakannya adalah penyebab nomor 1 bug "kenapa username saya muncul dengan tanda plus".
URL yang Anda encode sering kali berisi email pelanggan asli, ID, atau token sesi — persis jenis data yang tidak ingin Anda tempelkan ke alat server orang asing. iKit URL Encoder berjalan sebagai JavaScript yang sudah dimuat di browser Anda, sehingga input tidak pernah meninggalkan tab Anda.
fetch, XHR, atau beacon selama encode atau decode.
Tutorial mendalam dan perbandingan alat dari blog iKit.
The 30-year-old form-encoding quirk explained — when + means space, when it means literal +, and how to fix the email-with-plus bug.
When to reach for Base64 versus URL percent-encoding, and what each encoding actually solves.
Pretty-print, validate, and structurally diff messy JSON in any browser.
Component (encodeURIComponent) meng-escape semua yang bukan karakter unreserved — paling aman untuk nilai query-string, segmen path, atau bidang tunggal apa pun. URI (encodeURI) mempertahankan karakter struktur URL (:/?#=&) — gunakan pada URL utuh. Form (application/x-www-form-urlencoded) adalah Component + spasi menjadi '+' — yang dipakai form HTML.
RFC 3986 mendefinisikan kumpulan karakter "unreserved" yang tidak perlu di-encode: A-Z a-z 0-9 - _. ~. Selebihnya akan di-percent-encoding. encodeURIComponent juga meng-encode :/?#&= yang dibiarkan oleh encodeURI. Perbedaan ini penting saat Anda meng-encode nilai query versus URL utuh.
Tiga penyebab umum: (1) aslinya Form-encoded sehingga '+' harus diperlakukan sebagai spasi — aktifkan opsi tersebut. (2) Double-encoded — input di-encode dua kali; decode lagi. (3) Sekuens persen tidak valid — '%' yang tidak diikuti dua digit hex. Periksa pesan error untuk posisi byte yang tepat.
Ya untuk mode Component — kami memanggil encodeURIComponent secara langsung. Mode Form menambahkan penyesuaian standar form-encoding (! ' * menjadi %21 %27 %28 %29 %2A) sesuai RFC 3986 + WHATWG. Mode URI memanggil encodeURI, yaitu yang dimaksud sebagian besar bahasa dengan 'percent-encoding URL'.
Tidak. Seluruh alat ini berupa JavaScript di dalam halaman ini — encoding dan decoding terjadi di browser Anda. Anda dapat memverifikasinya dengan membuka DevTools → Network dan mengamati: tidak ada request yang dikirim selama operasi encode atau decode.