§

Masukkan teks untuk didekode:

Masukkan teks yang dikodekan URL yang ingin Anda dekode. Alat ini akan mengonversi karakter yang dikodekan persen kembali ke bentuk aslinya.
§

Output

decoded

Pendekodean persen URL membantu analis di Tokopedia, Shopee Indonesia, dan Lazada-ID membaca log kampanye Google Analytics 4 yang sarat parameter UTM berbahasa Indonesia, lengkap dengan spasi dan tanda plus yang sudah dipersen. Tim integrasi QRIS Bank Indonesia mengandalkannya untuk membongkar callback GoPay, OVO, DANA, dan ShopeePay yang membawa nomor referensi merchant. Operator NOC Telkom dan Indosat M2 memakai dekoder ini saat meninjau log WAF dan ELK yang menyimpan request berisi NIK DUKCAPIL atau alamat KTP-el terbungkus persen-escape. Pengembang OAuth di aplikasi tiket.com atau Traveloka pun memanfaatkannya untuk memeriksa state token bawaan redirect Google sebelum membandingkannya dengan klaim JWT yang diterbitkan backend.

Opsi Lanjutan

Konversi + ke Spasi

Saat diaktifkan, karakter + akan dikonversi ke spasi. Ini berguna saat mendekode parameter kueri.

Mode Langsung

Saat diaktifkan, teks akan didekode secara otomatis saat Anda mengetik.

Opsi-opsi ini membantu Anda mengontrol cara karakter yang dikodekan didekode dalam URL Anda.

Apa itu pendekodean URL?

Pendekodean URL membalik pengkodean persen: membaca urutan escape %XX dalam URL yang dikodekan dan mengubahnya kembali menjadi karakter yang diwakilinya. Itulah cara Anda memulihkan string kueri, nilai formulir, atau segmen jalur yang dapat dibaca dari URL yang diberikan oleh browser, API, atau baris log dalam keadaan sudah dikodekan.

Bagaimana pendekodean URL bekerja?

Pendekodean URL mengikuti proses tertentu untuk mengonversi urutan yang dikodekan persen kembali menjadi karakter aslinya:

  1. String input dipindai untuk mencari urutan escape yang dikodekan persen (%XX)
  2. Setiap %XX dikonversi dari dua digit heksadesimalnya kembali ke nilai byte aslinya
  3. Byte terdekode yang berurutan disusun ulang menjadi karakter UTF-8 (urutan multi-byte menjadi satu karakter)
  4. Dalam konteks string kueri, + didekode menjadi spasi (application/x-www-form-urlencoded), sedangkan %2B tetap menjadi + literal
  5. Karakter tak-cadangan dan teks yang sudah terdekode lewat tanpa perubahan

Mengapa menggunakan pendekode URL?

  • Keluaran yang dapat dibaca: ubah %20, %40, dan %3D kembali menjadi spasi, @, dan = agar Anda bisa membaca apa yang sebenarnya disampaikan URL
  • Teks internasional: bangun kembali karakter beraksen dan non-ASCII dari urutan byte UTF-8 mereka, sehingga %C3%A9 terbaca kembali sebagai é
  • Debugging: periksa nilai sebenarnya dalam string kueri, pengalihan OAuth, atau payload webhook sebelum Anda mengambil tindakan
  • Sesuai standar: dekode sesuai RFC 3986 — aturan yang sama digunakan browser dan server — sehingga Anda melihat persis apa yang mereka lihat

Apa saja aplikasi umum dari pendekodean URL?

Pendekodean URL penting dalam banyak skenario pengembangan web:

  • Pengiriman Formulir: membaca kembali nilai kolom asli dari data GET dan POST application/x-www-form-urlencoded
  • Pengembangan API: membuka parameter jalur dan kueri yang dikodekan persen yang tiba di endpoint API
  • Sistem File: memulihkan jalur dan nama file yang dikodekan persen agar dapat berpindah di dalam URL
  • Debug Tautan: mendekode URL yang dibagikan atau dicatat untuk melihat karakter khusus dan teks internasional yang dibawanya

Seperti apa contoh pendekodean URL?

Berikut adalah beberapa contoh umum pendekodean URL: %20 (atau +) menjadi spasi, %40 menjadi @, %23 menjadi #, %26 menjadi &, dan %3D menjadi =. Urutan UTF-8 seperti %C3%A9 menjadi karakter internasional é.

Apa itu percent-encoding?

Percent-encoding adalah mekanisme yang didefinisikan oleh RFC 3986 §2.1 untuk merepresentasikan karakter yang tidak aman atau dicadangkan di dalam URI. Aturannya mekanis: setiap byte yang tidak boleh muncul secara harfiah ditulis sebagai tanda persen diikuti dua digit heksadesimal — bentuk %XX —, di mana XX adalah nilai byte tersebut. Karakter non-ASCII seperti é terlebih dahulu dikodekan sebagai urutan byte UTF-8-nya, kemudian setiap byte dikodekan persen secara terpisah. Pengembang menemui ini hampir setiap hari: di query string, pengiriman formulir, URL callback OAuth, parameter path REST API, dan di mana pun URL harus membawa tanda baca, spasi, atau karakter di luar himpunan tidak dicadangkan A–Z a–z 0–9 - _ . ~.

Bagaimana sebenarnya proses decoding %C3%A9 menjadi é?

Ambil query string terenkode ?q=caf%C3%A9&lang=fr. Decoding menghasilkan ?q=café&lang=fr. Berikut penjabaran byte demi byte:

  • Input: ?q=caf%C3%A9&lang=fr
  • Output: ?q=café&lang=fr
  1. %C3 → byte 0xC3 (biner 11000011) — byte awal urutan UTF-8 2-byte.
  2. %A9 → byte 0xA9 (biner 10101001) — byte lanjutan. Digabung, C3 A9 adalah pengkodean UTF-8 dari U+00E9, yaitu é.
  3. Karakter ?, =, dan & dibiarkan utuh karena bersifat struktural — keduanya membatasi query dan pasangan kunci/nilai. Literal caf juga lewat tanpa berubah, karena huruf ASCII huruf kecil termasuk himpunan tidak dicadangkan.

Apa beda decodeURIComponent dan decodeURI?

JavaScript menyediakan dua decoder bawaan, dan tertukar antara keduanya adalah salah satu bug penanganan URL yang paling sering terjadi:

  • decodeURIComponent(str) mendekode setiap urutan terenkode persen, termasuk karakter yang dicadangkan seperti &, =, ?, /, dan #. Gunakan pada nilai query string individual atau segmen path — jangan pernah pada seluruh URL.
  • decodeURI(str) sengaja konservatif: ia melewati karakter yang dicadangkan. Memberinya %26 mengembalikan string harfiah %26, bukan &. Ia ditujukan untuk URI utuh di mana kamu ingin struktur tetap bertahan melalui perjalanan bolak-balik.

Aturan praktis: jika string adalah potongan URL (satu parameter, fragment, atau nama file terenkode), gunakan decodeURIComponent. Alat ini berperilaku seperti decodeURIComponent — setiap urutan %XX di input kamu akan didekode, termasuk karakter yang dicadangkan.

Mendekode URL adalah cara Anda membaca apa yang sebenarnya dikandungnya. Tempelkan string yang dikodekan di atas dan setiap urutan %XX berubah kembali menjadi karakternya langsung di peramban Anda — sehingga Anda bisa men-debug parameter kueri, memeriksa pengalihan OAuth, atau memulihkan nama file beraksen tanpa mengirim apa pun ke server.