URL Encoder

URL Encoder / Decoder

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.

Teks biasa

0 karakter

Output terenkode

0 karakter

Mengapa iKit URL Encoder

Cepat, akurat, hanya di browser — dibuat untuk developer, copywriter, dan siapa pun yang sedang men-debug URL.

Tiga mode encoding

Pilih mode Component, Full URI, atau Form sesuai dengan apa yang Anda encode — nilai query-string, URL utuh, atau payload form HTML.

Privasi sejak awal

Setiap encode dan decode terjadi di browser Anda menggunakan JavaScript native. Teks dan URL Anda tidak pernah meninggalkan perangkat.

Pratinjau langsung

Output diperbarui pada setiap penekanan tombol — tidak perlu klik tombol "Encode", tidak ada round-trip ke server.

Aman UTF-8

Emoji, karakter CJK, huruf Latin beraksen, dan Cyrillic dapat round-trip dengan benar melalui encodeURIComponent dan kembali.

Penanganan + ala form

Saat decode, opsional perlakukan '+' sebagai spasi — konvensi yang dipakai form HTML pada application/x-www-form-urlencoded.

Pemrosesan file massal

Lepas file.txt,.csv, atau.json untuk meng-encode atau decode-nya dalam satu langkah. Output diunduh sebagai.txt yang bersih.

Bagaimana URL encoding sebenarnya bekerja

Tiga API browser native, tiga mode, semuanya berjalan di halaman yang sedang Anda baca.

  1. 1

    Anda mengetik di editor

    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.

  2. 2

    Pilih mode

    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.

  3. 3

    UTF-8 berjalan otomatis

    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.

  4. 4

    Output muncul secara live

    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.

Kasus penggunaan umum

Situasi nyata di mana memilih mode encoding yang tepat mencegah bug.

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.

Berbagi URL panjang di chat

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.

Men-debug backend yang mengembalikan 400

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.

Round-trip data form

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".

Mengapa encoding lokal itu penting

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.

  • Tidak ada fetch, XHR, atau beacon selama encode atau decode.
  • Berfungsi offline setelah halaman selesai dimuat.
  • Tanpa log, tanpa rate limit, tanpa pendaftaran, tanpa kuota harian.

Panduan terkait

Tutorial mendalam dan perbandingan alat dari blog iKit.

Pertanyaan yang Sering Diajukan

Apa perbedaan antara mode Component, URI, dan Form?

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.

Mengapa beberapa karakter tidak di-encode?

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.

Mengapa teks ter-decode saya terlihat salah?

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.

Apakah hasil URL terenkode persis sama dengan encodeURIComponent JavaScript?

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'.

Apakah URL saya diunggah ke mana pun?

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.