URL Decoder
Turn unreadable links full of %20, %3A and %2F back into plain text. See every query parameter decoded, and get a clear warning when an escape is broken.
Runs in your browser — nothing is uploaded Free, no limits
Encoded URL or text
Result
Output appears here.How to use the URL Decoder
- Paste the encoded URL, query string or text.
- Keep "Treat + as space" on for form data and query strings; turn it off if + should stay a literal plus.
- Read the decoded result — any malformed % sequences are listed with their position.
- If the result still has % escapes, click "Decode again" for double-encoded links.
- Check the URL parser to see the host, path and each query parameter.
Frequently asked questions
How do I decode a URL?
Paste it into the box. Each %XX sequence is turned back into the byte it represents and the bytes are read as UTF-8, so %20 becomes a space and %C3%A9 becomes "é".
Why does decoding fail with "URI malformed"?
JavaScript's decodeURIComponent throws if any % isn't followed by two hex digits (like "100%" or "%zz") or if the bytes aren't valid UTF-8. This tool doesn't stop: it decodes everything it can and tells you exactly which sequence is broken.
Should + be decoded as a space?
Only in form-encoded data (application/x-www-form-urlencoded), which includes HTML form submissions and most query strings. In a URL path, + is a literal plus sign, so switch the option off there.
What is double encoding?
It happens when already-encoded text is encoded again, so %20 becomes %2520. The decoded result will still contain % escapes; decode it a second time to get the original.
Is it safe to decode URLs here?
Yes. Decoding happens in your browser and the URL is never opened, fetched or uploaded.