URL Decoder
Turn percent-encoded URLs and query strings back into readable text, for example to inspect tracking links or redirect parameters.
Your input stays in your browser. Nothing is uploaded.
Input
Output
About this tool
Plus signs are first converted to spaces, as in HTML form encoding, and then %XX sequences are decoded as UTF-8 with decodeURIComponent. If a % is not followed by two hex digits, or the bytes are not valid UTF-8, the decoder shows an error instead of guessing.
How to use it
- Paste the encoded URL or value.
- Read the decoded text.
- If a value was encoded twice, decode the output again.
decodeURIComponent(text.replace('+', ' '))
Examples
Search query
"q=rock%20%26%20roll" decodes to "q=rock & roll".
Plus signs
"new+york" decodes to "new york".
FAQ
Why did a literal + become a space?
In query strings, + traditionally means a space. A real plus sign should be encoded as %2B.
What does "Invalid URL encoding" mean?
The text contains a % that is not followed by two hex digits, or an incomplete UTF-8 sequence.
Is anything logged?
No. Decoding runs in your browser.

