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.

Sources

All Code tools