What is URL Decoding?
URL decoding is the reverse of URL encoding. It converts percent-encoded sequences (like %20, %26, %3D) back into their original characters (space, &, =). When a browser receives a URL, it automatically decodes the percent-encoded components before displaying or processing them.
URL decoding is essential when reading encoded URLs from server logs, debugging API requests, or extracting human-readable values from query strings.
Why Decode a URL?
Percent-encoded URLs are machine-safe but hard for humans to read. You’ll need to decode a URL when:
- Reading encoded query parameters from server access logs
- Debugging an API request where parameter values look garbled
- Extracting readable text from a URL someone shared with you
- Working with encoded webhook payloads
- Interpreting browser network requests in DevTools
Common Encoded Characters — Decoded
| Encoded | Character | Description |
|---|---|---|
%20 | Space | Whitespace |
%26 | & | Ampersand |
%3D | = | Equals sign |
%2B | + | Plus sign |
%23 | # | Hash |
%3F | ? | Question mark |
%2F | / | Forward slash |
%3A | : | Colon |
%40 | @ | At sign |
%25 | % | Percent sign |
%3C | < | Less than |
%3E | > | Greater than |
%22 | " | Double quote |
How to Use This Tool
- Paste or type the percent-encoded text into the input box
- Click Decode URL — or enable Auto mode for instant decoding as you type
- Copy the decoded result from the output box
- Optionally upload a
.txtfile containing encoded URLs to decode in bulk
To pre-fill the input via a URL, append ?input=your%20encoded%20text to the tool address.
Error Handling
If the input contains a malformed percent sequence (e.g., %ZZ or a truncated %2), this tool displays a friendly error message rather than crashing. A valid percent sequence must be % followed by exactly two hexadecimal digits (0–9, A–F).
Common causes of malformed sequences:
- Copying only part of an encoded string
- Manually editing URLs and introducing a typo
- Double-encoded strings where
%20appears as%2520
Common Use Cases for Developers
- Debugging API requests — Decode encoded query parameters to see the actual values being sent
- Reading server logs — Access logs often contain percent-encoded URLs that are hard to scan at a glance
- Parsing webhook data — Decode form-encoded webhook payloads into readable key-value pairs
- Decoding share links — Extract the original text from a pre-encoded URL parameter
- Testing and QA — Verify that your encoder is producing the expected output by round-tripping it through the decoder
Data as Parameter
Pre-fill this tool’s input using the ?input= query parameter:
https://www.uprek.com/en/tools/url-decoder?input=hello%20world%20%26%20more%3D1
Technical Details
This tool uses the native JavaScript decodeURIComponent() function, running entirely in your browser — no server, no data transmission. Decoding is instant and the tool works offline once the page is loaded.
decodeURIComponent() is the counterpart to encodeURIComponent() and correctly handles UTF-8 multi-byte sequences for international characters including emoji and non-Latin scripts.
Troubleshooting Common Issues
Result still looks encoded? Your input may be double-encoded. Try running the output through the decoder a second time to get back to the original text.
Getting an error on seemingly valid input?
Check for a lone % character not followed by two valid hex digits. Even a single malformed sequence causes the entire decode operation to fail.
Non-ASCII characters look wrong?
Ensure your input uses UTF-8 percent-encoding (e.g., %E2%82%AC for the Euro sign €). Legacy ISO-8859-encoded URLs may not decode correctly with this tool.