Alat

Encoder & Decoder URL Online Gratis

Encode teks menjadi URL percent-encoded atau decode %20, %26 dan urutan %XX apa pun — langsung di browser Anda.

0 chars
Tersalin!
0 chars

Contoh Referensi Encoding

Input encodeURIComponent encodeURI
hello world hello%20world hello%20world
name=John&age=30 name%3DJohn%26age%3D30 name=John&age=30
https://example.com/path?q=hi https%3A%2F%2Fexample.com%2Fpath%3Fq%3Dhi https://example.com/path?q=hi
café résumé caf%C3%A9%20r%C3%A9sum%C3%A9 caf%C3%A9%20r%C3%A9sum%C3%A9
price: $9.99 (sale!) price%3A%20%249.99%20(sale!) price%3A%20%249.99%20(sale!)

Apa Itu URL Encoding?

URL encoding (juga disebut percent-encoding) adalah mekanisme untuk mengubah karakter yang tidak aman dalam URL menjadi tanda persen diikuti dua digit heksadesimal. Misalnya, spasi menjadi %20, tanda ampersand menjadi %26, dan tanda sama dengan menjadi %3D.

Browser dan server mewajibkan encoding ini karena URL hanya boleh berisi kumpulan karakter ASCII yang terbatas. Karakter apa pun di luar kumpulan aman ini — termasuk spasi, huruf beraksen, karakter Tionghoa, dan simbol khusus — harus di-encode sebelum dimasukkan ke dalam URL.

encodeURIComponent vs encodeURI

JavaScript menyediakan dua fungsi native untuk URL encoding. Pilihan yang tepat tergantung pada apa yang Anda encode.

encodeURIComponent()

Gunakan untuk nilai query-string individual. Meng-encode semua kecuali huruf, angka, dan - _ . ! ~ * ' ( ). Juga meng-encode / : ? # & = @.

Input: hello world & more
Output: hello%20world%20%26%20more

encodeURI()

Gunakan untuk string URL lengkap. Mempertahankan karakter struktural seperti / : ? # & = @ agar URL tetap valid.

Input: https://site.com/path?q=hello world
Output: https://site.com/path?q=hello%20world

Kasus Penggunaan Umum URL Encoding

Percent-encoding muncul di mana-mana dalam pengembangan web modern dan API.

Pencarian & Parameter Query

Encode istilah pencarian yang dimasukkan pengguna sebelum menambahkannya ke permintaan GET agar karakter khusus tidak merusak query string.

Panggilan API dengan Nilai Dinamis

API REST dan GraphQL sering mengharuskan nilai dalam segmen path atau parameter di-percent-encode untuk menghindari ambiguitas.

OAuth & URL Redirect

Parameter redirect_uri OAuth 2.0 harus sepenuhnya di-encode agar server otorisasi dapat mem-parsing alamat callback dengan benar.

Slug Non-ASCII

URL untuk halaman berbahasa Arab, Tionghoa, Jepang, atau skrip Latin beraksen harus di-percent-encode untuk kompatibilitas maksimal di berbagai browser dan crawler.

Pengiriman Form HTML GET

Browser meng-encode field form sebelum menambahkannya ke URL action. Memahami encoding ini membantu men-debug urutan %2B atau %20 yang tidak terduga.

Pertanyaan yang Sering Diajukan

%20 adalah bentuk percent-encoded dari spasi yang digunakan oleh encodeURIComponent maupun encodeURI. Tanda + mewakili spasi hanya dalam format application/x-www-form-urlencoded (pengiriman form HTML GET). Alat ini mendekode keduanya: %20 dan + sama-sama diperlakukan sebagai spasi dalam mode Decode.

Gunakan encodeURIComponent untuk nilai parameter individual di dalam query string — misalnya, istilah pencarian pada ?q=hello+world. Gunakan encodeURI ketika Anda perlu meng-encode seluruh URL tanpa merusak strukturnya: encodeURI mempertahankan /, ?, #, &, =, @, dan : agar URL tetap valid.

Bisa. Alat ini mencoba mendekode semua urutan %XX yang valid yang ditemukannya dan membiarkan urutan yang tidak valid atau tidak dikenali apa adanya, sambil menampilkan peringatan. Ini berguna untuk men-debug URL yang hanya sebagian ter-encode.

Tidak. URL encoding (percent-encoding) mengubah karakter yang tidak aman menjadi urutan %XX agar dapat muncul dengan aman dalam URL. Base64 encoding mengubah data biner menjadi string ASCII yang dapat dicetak. Keduanya memiliki tujuan yang sama sekali berbeda dan tidak dapat saling menggantikan.

Privasi

Semua proses encoding dan decoding terjadi sepenuhnya di dalam browser Anda menggunakan fungsi JavaScript native. Teks Anda tidak pernah dikirim ke server kami, disimpan, atau dicatat. Setelah Anda menutup tab, setiap jejak input akan hilang.