URL Decode Online

Decode URL yang di-encode dengan persen

Coba contoh

URL / Teks Ter-encode

Ter-decode

Berjalan lokal · Aman untuk menempel rahasia
Output yang di-decode...

Apa itu Decoding URL?

Decoding URL (percent-decoding) adalah kebalikan dari encoding URL: mengkonversi urutan percent-encoded kembali ke karakter aslinya. Setiap kemunculan tanda persen diikuti dua digit heksadesimal (%XX) digantikan dengan byte yang diwakili XX. Beberapa byte yang dikodekan secara berurutan digabungkan kembali untuk merekonstruksi karakter UTF-8 asli.

Decoding URL adalah tugas sehari-hari bagi pengembang yang bekerja dengan API, web scraping, analisis log, dan alur autentikasi. URL yang dikodekan dapat dibaca mesin tetapi buram bagi manusia — mendekodekannya langsung mengungkap path sebenarnya, kueri penelusuran, target redirect, dan nilai parameter yang jika tidak, memerlukan konversi mental hex-ke-karakter.

Mengapa Menggunakan Alat Ini?

Pahami dengan cepat URL atau query string yang dikodekan persen — tidak perlu konsol browser, tidak ada yang dikirim ke server.

Decoding Instan
Tempel URL atau parameter yang dikodekan dan lihat versi yang dapat dibaca manusia segera. Sangat bagus untuk men-debug permintaan API dan file log.
🛡️
Pemulihan Error
Fallback ke legacy unescape() untuk input yang mengandung karakter Latin-1 percent-encoded gaya lama yang akan gagal dengan decodeURIComponent.
🔒
Hanya Sisi Klien
Semua decoding berjalan secara lokal di browser Anda. Token, kata sandi, dan parameter query pribadi tidak pernah meninggalkan perangkat Anda.
🔁
Dukungan URL Lengkap
Dekode URL lengkap atau nilai parameter individual. Alat ini menangani spasi %20 standar dan mempertahankan tanda + sebagai karakter plus literal.

Cara menggunakan URL decoder online ini

Tanpa akun, tanpa instalasi. Tempel string terenkode persen Anda ke kolom input dan hasil yang didekode langsung muncul. Semuanya berjalan di browser Anda — data Anda tidak pernah meninggalkan perangkat Anda.

  1. 1
    Tempel URL atau string terenkode Anda
    Salin string terenkode persen apa pun — URL dari address bar browser, parameter kueri dari log server, respons API, atau target redirect — dan tempel ke kolom input.
  2. 2
    Deteksi format otomatis
    Decoder secara otomatis menangani enkode persen %XX maupun + sebagai spasi (application/x-www-form-urlencoded). Tidak perlu menentukan format encoding secara manual.
  3. 3
    Periksa output yang didekode
    Teks yang mudah dibaca langsung muncul. Jika input mengandung enkode bersarang (string yang dienkode ganda), decoder menyelesaikan satu lapisan sekaligus. Error muncul untuk sekuens %XX yang tidak valid.
  4. 4
    Salin atau enkode ulang
    Klik Salin untuk mengambil string yang didekode. Perlu mengenkodenya lagi dengan pengaturan berbeda? Beralih ke alat URL Encoder dengan satu klik.

Cara Kerja Decoding

Decoder memindai input untuk urutan %, mengkonversi setiap grup dua digit heksadesimal ke nilai byte, mengelompokkan urutan byte berurutan, dan menginterpretasikannya sebagai UTF-8 untuk menghasilkan karakter Unicode akhir.

Contoh
Input:https%3A%2F%2Fexample.com%2Fsearch%3Fq%3Dhello%20world
%3A:  %2F/  %3F?  %3D=  %20space
Output:https://example.com/search?q=hello world

Referensi Karakter Percent-Encoded

Referensi cepat untuk urutan percent-encoded yang paling sering ditemui:

DikodekanKar.Di mana Anda akan melihatnya
%20spacepath segments, query values
%2B+literal plus (not a space in query)
%2F/slash inside a path component
%3F?literal question mark in a value
%23#literal hash in a value
%26&literal ampersand in a value
%3D=literal equals sign in a value
%40@at sign in username / password
%3A:colon inside a path segment
%25%literal percent sign
%2C,comma in path or query
%5B[opening bracket
%5D]closing bracket
%7B{curly brace in template literals
%7D}curly brace in template literals

Kasus Penggunaan Umum

Men-debug Permintaan API
Salin URL dari log jaringan DevTools browser dan dekodekan untuk melihat nilai parameter query sebenarnya — terutama berguna ketika alat atau library otomatis telah percent-encode parameter.
Membaca File Log
Log akses server web dan log aplikasi menyimpan URL dalam bentuk terenkode. Dekodekan untuk menemukan path yang diminta sebenarnya, istilah pencarian, dan nilai parameter.
Memeriksa Redirect
Callback OAuth, redirect SSO, dan URL pelacakan tautan sering membawa parameter redirect_uri atau next yang sangat dikodekan. Dekodekan URL untuk melacak tujuan yang dimaksud.
Mengurai Payload Webhook
Body webhook yang dikirim sebagai application/x-www-form-urlencoded (Stripe, Twilio, GitHub) tiba sebagai string percent-encoded. Dekodekan untuk membaca nilai field sebenarnya.
Mengekstrak Kueri Pencarian
URL analitik dan header referrer mengandung kueri pencarian asli pengguna yang dikodekan persen dalam parameter q=. Dekodekan untuk menampilkan atau menganalisis istilah pencarian sebenarnya.
Reverse Engineering URL
Saat mengintegrasikan dengan API pihak ketiga atau melakukan scraping, URL yang ditemui sering mengandung segmen path dan parameter yang dikodekan. Dekodekan untuk memahami struktur URL dan mereproduksi permintaan.

Jebakan Umum

Ini adalah kesalahan paling sering saat mendekode string percent-encoded:

Membingungkan + dengan %20
Dalam data application/x-www-form-urlencoded (pengiriman formulir HTML), + mewakili spasi. Tetapi dalam path URL mentah atau nilai yang dikodekan dengan encodeURIComponent, + adalah tanda plus literal. decodeURIComponent tidak mengkonversi + menjadi spasi — gunakan URLSearchParams atau unquote_plus untuk data formulir.
String yang Dikodekan Ganda
Jika string dikodekan dua kali, mendekodenya sekali masih meninggalkan tanda persen: %2520 terdekode menjadi %20, bukan spasi. Dekode kedua kali untuk mendapatkan nilai asli. Perhatikan ini dalam log, proxy, dan middleware yang mengkodekan ulang data yang sudah dikodekan.
Urutan Persen yang Salah Format
Tanda % tunggal atau % yang diikuti karakter non-hex (mis. %GG atau % 2) tidak valid dan akan melempar URIError. Selalu validasi input atau bungkus decoding dalam try/catch.
Ketidakcocokan Encoding (Latin-1 vs UTF-8)
Sistem lama (urlencode PHP, ASP klasik) mengkodekan karakter sebagai byte Latin-1. String yang dikodekan sebagai Latin-1 mungkin terdekode secara salah dengan decoder UTF-8. Jika Anda melihat karakter yang kacau, coba jalur legacy unescape() atau tentukan encoding aslinya.

Contoh Kode

Cara mendekode string URL dalam bahasa dan lingkungan populer:

JavaScript (browser / Node.js)
// Decode a percent-encoded component
decodeURIComponent('hello%20world%20%26%20more') // → "hello world & more"

// Decode a full URL (leaves structure characters encoded)
decodeURI('https://example.com/path?q=hello%20world') // → "https://example.com/path?q=hello world"

// Parse a query string (handles + as space automatically)
const params = new URLSearchParams('q=hello+world&lang=en')
params.get('q') // → "hello world"
Python
from urllib.parse import unquote, unquote_plus, parse_qs

# Decode percent-encoded string
unquote('hello%20world%20%26%20more')   # → 'hello world & more'

# Decode form-encoded string (+ → space)
unquote_plus('hello+world%21')          # → 'hello world!'

# Parse full query string
parse_qs('q=hello%20world&lang=en')     # → {'q': ['hello world'], 'lang': ['en']}
Node.js (URL API)
const url = new URL('https://example.com/search?q=hello%20world%20%26%20more')
url.searchParams.get('q')  // → "hello world & more"
url.pathname               // → "/search"
CLI (bash)
# Decode with Python one-liner
python3 -c "from urllib.parse import unquote; print(unquote('hello%20world'))"

# Decode with Node.js
node -e "console.log(decodeURIComponent('hello%20world%20%26'))"

URL Decoder vs. alternatif

Beberapa alat dapat mendekode string terenkode persen, tetapi berbeda dalam kejelasan, privasi, dan kemudahan.

Alat ini
Berbasis browser, instan, privat. Menangani enkode %XX, + sebagai spasi, Unicode, dan sekuens yang tidak valid. Tidak ada data yang dikirim ke server mana pun.
Address bar browser
Browser mendekode URL untuk ditampilkan, tetapi tidak selalu sepenuhnya — beberapa karakter terenkode mungkin tetap terlihat di address bar. Tidak berguna untuk memeriksa nilai parameter individual.
DevTools / curl -v
DevTools browser dan curl menampilkan URL mentah dan yang didekode dalam permintaan jaringan. Berguna untuk debugging tetapi memerlukan peralihan alat dan mengetahui di mana harus mencarinya.

Pertanyaan yang Sering Diajukan

Apa perbedaan antara decodeURIComponent dan decodeURI?
decodeURIComponent mendekode semua urutan percent-encoded termasuk karakter reserved (%2F → /, %3F → ?, dll.). decodeURI hanya mendekode urutan yang tidak akan menghasilkan karakter dengan arti khusus dalam URL — ia meninggalkan %2F, %3F, %23, dan karakter struktural lainnya tetap dikodekan. Gunakan decodeURIComponent untuk nilai parameter; gunakan decodeURI hanya ketika Anda memiliki URL lengkap dan ingin mempertahankan strukturnya.
Mengapa saya melihat URIError: malformed URI?
Error ini dari decodeURIComponent terjadi ketika input mengandung % yang tidak diikuti dua digit hex yang valid, atau ketika urutan UTF-8 multi-byte tidak lengkap (mis. %E2 tanpa %82%AC berikutnya). Hapus atau escape tanda persen yang menyendiri sebelum mendekode.
Apakah decoding menangani + sebagai spasi?
Tidak — decodeURIComponent memperlakukan + sebagai tanda plus literal, bukan spasi. Konvensi + → spasi hanya berlaku untuk data application/x-www-form-urlencoded (pengiriman formulir HTML). Untuk mendekode data yang dikodekan formulir, gunakan URLSearchParams (browser/Node) atau urllib.parse.unquote_plus (Python).
Apakah aman melakukan decoding URL di sisi klien?
Ya — decoding URL adalah transformasi murni tanpa permintaan jaringan. Semua browser modern menyertakan decodeURIComponent dan decodeURI sebagai fungsi native. Alat ini melakukan decoding sepenuhnya di browser Anda; tidak ada data yang dikirim ke mana pun.
Bagaimana cara mendekode URL yang dikodekan beberapa kali?
Dekodekan berkali-kali hingga output stabil (tidak ada lagi urutan % yang diselesaikan). Ini terjadi ketika URL yang sudah dikodekan dilewatkan melalui encoder lain. Setiap pass decoding menghilangkan satu lapisan encoding.
Apa yang diwakili %XX?
Dua karakter setelah % adalah digit heksadesimal yang mewakili nilai byte tunggal (00–FF). Untuk karakter ASCII, byte ini adalah kode ASCII karakter: %41 = 65 = 'A'. Untuk karakter non-ASCII, beberapa urutan %XX mewakili urutan byte UTF-8 dari karakter: tanda euro adalah %E2%82%AC (tiga byte: 0xE2, 0x82, 0xAC).
Enkoding apa yang digunakan browser saat mengirimkan formulir HTML?
Formulir HTML dengan method=GET menambahkan field ke URL menggunakan enkoding application/x-www-form-urlencoded, yang mengganti spasi dengan + bukan %20 dan mengenkode persen karakter khusus lainnya. Opsi + → spasi pada alat URL Decode menangani format ini. Formulir dengan method=POST dan enctype=application/x-www-form-urlencoded menggunakan skema yang sama di badan permintaan.
Apakah ada batasan ukuran untuk dekoding?
Tidak ada batasan sisi server — alat ini berjalan sepenuhnya di browser Anda. Batas praktis bergantung pada memori browser Anda. Untuk string terenkode yang sangat panjang atau pemrosesan batch, gunakan decodeURIComponent dalam sebuah skrip.