URL Decoder
Turn a percent-encoded URL or query value back into readable text, entirely in your browser.
Runs entirely in your browser. Nothing is uploaded, logged or stored.
Paste a URL full of %20 and %3A and read it as it was meant to be read. Useful on a redirect chain, a callback parameter or a log line where the interesting part is buried in escapes.
How it works
Each "%" followed by two hexadecimal digits becomes the byte it names, and the resulting bytes are read as UTF-8. In the form data style a "+" also becomes a space, which is why decoding a query string in the wrong style leaves stray plus signs, or eats the ones that were meant literally.
A sequence that is not valid percent-encoding is left as it stands rather than treated as an error, because URLs found in logs are often partially encoded.
Examples
| Case | Input | Result |
|---|---|---|
| A redirect target hidden in a query parameter | https%3A%2F%2Fexample.com%2Fa%3Fb%3D1 | https://example.com/a?b=1 |
| A value submitted by a form | coffee+%26+cake | coffee & cake |
Frequently asked questions
My result still contains percent signs.
The value was probably encoded twice, which happens when a URL is escaped on its way through two systems. Decode the result again: "%253A" becomes "%3A", then ":".
Why did my plus signs turn into spaces?
You are decoding in the form data style, where "+" means a space. Switch to the URL component style if the plus signs were literal, as they are in a base64 value or a phone number.
Good to know
- Everything happens in your browser. What you paste is not uploaded, not logged and not stored.