URL Decoder
Decode percent-encoded URLs. Encoded characters are highlighted in the original.
How it works
Percent-encoding is the standard mechanism for including special characters in URLs. When you copy a URL from your browser's address bar, non-ASCII characters and reserved delimiters are often replaced with %XX sequences that make the URL hard to read. This decoder reverses the process, turning those sequences back into the original characters.
What makes this decoder unique is the highlighting feature. In addition to showing the decoded output, it marks which portions of your original input were percent-encoded. This lets you quickly identify what was escaped — useful when debugging complex query strings, troubleshooting double-encoding issues, or inspecting redirect URLs.
The tool handles single encoding, double encoding (%2520 for a space that was encoded twice), and + as space (the application/x-www-form-urlencoded convention). It processes the input entirely in your browser using the Bytario core library with no server round-trips, so even URLs containing sensitive tokens or session IDs stay on your device.
FAQ
What does %20 mean in a URL?
%20 is the percent-encoded representation of a space character (ASCII 32, hex 0x20). When you see it in a URL, it means there was a space in the original text.
How do I fix double-encoded URLs?
Double encoding happens when an already-encoded string is encoded again — %20 becomes %2520. Run this decoder once to get the single-encoded version, then run it again to get the original. If you see %25 in your decoded output, you have double encoding.
Why does my URL have + instead of %20 for spaces?
The + convention comes from HTML form encoding (application/x-www-form-urlencoded). It is only valid in query strings, not in URL paths. This decoder handles both conventions.
Can I decode a full URL with query parameters?
Yes. Paste the entire URL and the decoder will decode all percent-encoded sequences while preserving the URL structure. The highlighting shows exactly which parts were encoded.