Kembali ke Kumpulan Developer Tools Online InfoKoding

URL Encoder & Decoder Online (Percent Encoding)

TL;DR: Gunakan alat URL Encoder dan Decoder online gratis untuk encode URL online (percent encoding) atau decode URL secara cepat dan aman di browser. Semua pemrosesan string dieksekusi 100% Client-Side tanpa pernah dikirimkan ke server.

Panduan Penggunaan URL Encoder & Decoder Online

Key Takeaways: Gunakan tombol Encode URL untuk mengonversi karakter khusus query string menjadi format persen (%XX) yang valid, dan gunakan tombol Decode URL untuk memulihkan kode persen ke bentuk string aslinya.

Ikuti panduan mudah melakukan encode url online dan pemecahan percent encoding berikut:

  1. Tempel string URL mentah atau parameter query pada kolom Input di sebelah kiri.
  2. Pilih mode Encode URL untuk mengonversi karakter non-ASCII dan simbol reserved menjadi format percent-encoding (RFC 3986).
  3. Pilih mode Decode URL jika Anda ingin menguraikan string berkode persen (seperti %20 atau %26) menjadi karakter teks biasa.
  4. Salin hasil keluaran secara otomatis menggunakan tombol Copy di sudut kanan atas kolom Output.

Apa itu URL Encoding (Percent Encoding)?

Key Takeaways: URL Encoding (disebut juga Percent-Encoding) adalah skema konversi karakter khusus dalam dokumen RFC 3986 yang mengubah simbol reserved dan karakter multibyte menjadi tanda persen diikuti dua digit heksadesimal (%XX) agar aman ditransmisikan melalui protokol HTTP/HTTPS.

URL (*Uniform Resource Locator*) dirancang untuk dikirim melalui internet hanya dengan kumpulan karakter ASCII terbatas. Ketika sebuah alamat web mengandung karakter di luar himpunan ASCII terlindung (seperti spasi, simbol dan &, tanda tanya ?, atau abjad non-Latin), peramban web dan server memerlukan mekanisme khusus agar karakter tersebut tidak memicu kesalahan parsing URL. Mekanisme inilah yang dikenal sebagai **URL Encoding** atau **Percent Encoding**.

Definisi & Fungsi Utama Percent Encoding

Fungsi utama dari percent encoding adalah menjamin bahwa setiap parameter query string yang dikirimkan dari formulir HTML atau aplikasi frontend ke server backend (REST API) tetap utuh tanpa merusak struktur URL utama. Sebagai contoh, jika kata kunci pencarian Anda mengandung karakter & (misal: "Kopi & Teh"), tanpa encode URL online, server akan keliru menafsirkan tanda & tersebut sebagai pemisah parameter query baru.

Daftar Karakter Reserved vs Unreserved dalam URL

Spesifikasi RFC 3986 membagi himpunan karakter dalam URL menjadi dua kategori utama:

  • Unreserved Characters (Karakter Bebas): Terdiri dari huruf besar (A-Z), huruf kecil (a-z), angka (0-9), serta empat simbol khusus yaitu tanda hubung (-), garis bawah (_), titik (.), dan tilde (~). Karakter ini tidak pernah di-encode.
  • Reserved Characters (Karakter Terikat): Memiliki makna struktural khusus dalam sintaks URL, seperti :, /, ?, #, [, ], @, !, $, &, ', (, ), *, +, ,, ;, dan =. Jika simbol-simbol ini digunakan sebagai bagian dari nilai variabel data, maka wajib dikonversi ke format %XX.

Cara Kerja Encode URL Online & Decoding Karakter Khusus

Key Takeaways: Algoritma percent encoding mengganti setiap karakter reserved atau byte UTF-8 dengan karakter % disusul nilai heksadesimal 2 digit dari kode ASCII byte tersebut (contoh: spasi dikonversi menjadi %20).

Berikut adalah daftar pemetaan simbol khusus yang paling sering ditemui dalam proses encode url online beserta nilai persen-kode resminya:

Karakter Mentah Deskripsi Simbol Hasil Percent Encoding (%XX)
Spasi ( ) Space bar %20 (atau +)
! Exclamation mark %21
" Double quote %22
# Hash / Fragment identifier %23
$ Dollar sign %24
& Ampersand (pemisah parameter) %26
+ Plus sign %2B
/ Forward slash (path separator) %2F
? Question mark (query prefix) %3F

Perbedaan encodeURI vs encodeURIComponent pada JavaScript

Dalam pemrograman JavaScript, terdapat dua fungsi bawaan utama untuk menangani percent encoding:

1. encodeURI(url)

Digunakan untuk meng-encode seluruh alamat URL tanpa merusak karakter struktur protokol (seperti http://, /, ?, &, =).

const url = "https://infokoding.com/search?q=belajar php";
console.log(encodeURI(url));
// Result: "https://infokoding.com/search?q=belajar%20php"

2. encodeURIComponent(str)

Digunakan untuk meng-encode nilai parameter individual agar seluruh karakter reserved (termasuk /, ?, &) aman dikirim sebagai query value.

const param = "Kopi & Teh/Gula";
console.log(encodeURIComponent(param));
// Result: "Kopi%20%26%20Teh%2FGula"

Contoh Penggunaan Percent Encoding pada Query String & REST API

Key Takeaways: Terapkan percent encoding pada panggilan REST API, webhook payload, dan pengiriman tautan tombol share WhatsApp/Twitter untuk menghindari error HTTP 400 Bad Request.

Berikut contoh praktis penggunaan URL encoder online dalam skenario pengembangan web sehari-hari:

Tautan Share WhatsApp / Social Media
// Parameter Pesan Mentah:
Halo, saya tertarik dengan artikel: https://infokoding.com/tools

// Hasil URL Encoded:
https://wa.me/628123456789?text=Halo%2C%20saya%20tertarik%20dengan%20artikel%3A%20https%3A%2F%2Finfokoding.com%2Ftools
Query Parameter REST API Filter
// Request Query Parameters:
search = "PHP & Node.js"

// Endpoint API Final:
GET /api/v1/courses?search=PHP%20%26%20Node.js

FAQ: Pertanyaan Umum Seputar URL Encoder & Percent Encoding

Apa perbedaan antara encode URL online dengan percent encoding?

Tidak ada perbedaan mendasar. Percent encoding adalah nama teknis standar resmi (RFC 3986) untuk proses pengodean karakter khusus URL menjadi format %XX, sedangkan encode URL online adalah istilah umum yang sering digunakan pengguna internet untuk alat pemrosesan ini.

Mengapa spasi terkadang di-encode menjadi %20 dan terkadang menjadi simbol plus (+)?

Karakter %20 adalah representasi standar percent encoding untuk spasi menurut RFC 3986. Sedangkan simbol + adalah konvensi lama pengodean formulir HTML (application/x-www-form-urlencoded). Keduanya sama-sama valid dan dapat dipahami oleh peramban modern.

Kapan saya harus menggunakan encodeURI vs encodeURIComponent?

Gunakan encodeURI() jika Anda meng-encode seluruh string URL lengkap (agar struktur domain & path tidak rusak). Gunakan encodeURIComponent() jika Anda hanya meng-encode nilai parameter query string individual.

Apakah proses URL encode dan decode di InfoKoding aman?

Sangat aman. Seluruh manipulasi string URL dilakukan 100% langsung di browser Anda menggunakan JavaScript murni (Client-Side). Data masukan tidak pernah dikirimkan atau disimpan di server kami.

Rusmawan Abdullah Sani
Ditinjau oleh Tim Pengembang InfoKoding Rusmawan Abdullah Sani
Terverifikasi Client-Side Safe