Overview
Use this tool to turn percent-encoded text such as %20, %3F, and %26 back into readable characters. It is helpful when inspecting links, request parameters, redirect targets, or copied strings that include encoded punctuation. The decoder treats the input as text and converts valid escape sequences into their matching characters. If the text contains malformed sequences, those parts may remain unchanged or produce an error depending on the characters entered. That makes it useful for checking exactly how a URL fragment will be interpreted before you share, store, or debug it.
Use cases
- Inspect a copied linkDecode a link copied from chat, email, or logs to read the real path and parameters without the percent signs.
- Check query parametersReveal parameter names and values such as redirect targets, search terms, or filters hidden inside an encoded query string.
- Review redirect destinationsDecode callback or redirect URLs before using them in code, tests, or security reviews.
How it works
- 1
Paste the encoded URL, path, or query string into the input.
- 2
The tool decodes percent-escapes and returns readable text immediately.
- 3
Review the result and compare it with the original string if you need to spot encoding issues.
Examples
Decode a query string
Input: search%3Fq%3Dcoffee%20beans%26page%3D2
Output: search?q=coffee beans&page=2
Shows how encoded punctuation and spaces become normal readable text.
Decode a path with reserved characters
Input: docs%2Fapi%2Fv1%2Fusers%3Factive%3Dtrue
Output: docs/api/v1/users?active=true
Useful when a URL path and its parameters are stored as one encoded string.
Decode a return URL
Input: https%3A%2F%2Fexample.com%2Fcheckout%3Fref%3Demail%2520promo
Output: https://example.com/checkout?ref=email%20promo
Shows that double-encoded pieces remain partially encoded after a single decode.
FAQ
Does this tool decode plus signs as spaces?
Only percent-escapes are decoded. A literal plus sign stays as + unless the input already represents a space that way in its source context.
Why does part of my string stay encoded after decoding?
Some inputs are encoded more than once. A single pass turns %2520 into %20, but a second pass would be needed to get an actual space.
Can I decode a full URL, not just a query string?
Yes. You can paste a complete URL, but the tool will only change valid encoded sequences and leave the rest of the URL structure intact.
What happens with invalid percent sequences?
Characters that are not valid escapes may be left unchanged or may cause the decoder to reject the input, depending on the sequence and browser behavior.
