← All Tools
URL Decoder🔒 100% local
Decode percent-encoded URLs. Privacy-first, no server uploads.
Related Tools
Turns percent-encoded text back into readable characters by running the browser's decodeURIComponent over whatever you paste. That covers the reserved characters an encoder escapes (%20 for a space, %2F for a slash, %3F for a question mark) and multi-byte UTF-8 sequences such as %E2%82%AC, which come back as a single euro sign. The decoding happens in the page's own JavaScript, so a URL containing a token or a password is not sent to a server to be read.
How to use it
- Paste the encoded string into the box labelled Encoded URL.
- Press Decode; the result appears in the Decoded URL panel below.
- Use Copy Output to take the plain text, or Clear to reset the box.
Worked example
%E2%82%AC%20price%3A%2050%25becomes€ price: 50%the three-byte UTF-8 escape becomes one character; %25 becomes a literal percent sign
https%3A%2F%2Fexample.com%2Fsearch%3Fq%3Dhello%20world%26lang%3Denbecomeshttps://example.com/search?q=hello world&lang=enthis is the string the page loads with
When to use it
- A log line or analytics report shows a request URL as %2F-separated rubbish and you need to read the path.
- An emailed link or a redirect parameter looks mangled and you want the real destination before clicking it.
- You are debugging an API call and want to confirm that a query value was encoded the way you intended.
What it does not do
- It decodes once, so doubly encoded text stays partly encoded: %2520 comes back as %20, not as a space. Run it through a second time to get the final value.
- The plus sign is left alone. decodeURIComponent is not form decoding, so a+b stays a+b rather than becoming 'a b'; if the source was an application/x-www-form-urlencoded body you have to replace + yourself.
- A malformed sequence makes the whole operation throw, so %E2%82 on its own shows 'URI malformed' and you get no partial output at all, rather than a best-effort decode of the valid part.
- It does not parse or validate the decoded result, so a decoded string containing ? and & is only text - use the URL Parser or URL Parse tool if you need the pieces split apart.